Browse Source

制工单、发货单、入库检验通知

erp、
ling li 2 years ago
parent
commit
b25e86744e
  1. 1
      log.path_IS_UNDEFINED/sys-user.log
  2. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/controller/DeliveryGoodsDetailController.class
  3. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/controller/DeliveryGoodsNoticeController.class
  4. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/controller/MaterialRequisitionDetailController.class
  5. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/controller/MaterialRequisitionInfoController.class
  6. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/controller/WorkOrderDetailController.class
  7. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/controller/WorkOrderInfoController.class
  8. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/DeliveryGoodsDetail.class
  9. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/DeliveryGoodsNotice.class
  10. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/MaterialRequisitionDetail.class
  11. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/MaterialRequisitionInfo.class
  12. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/WorkOrderDetail.class
  13. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/WorkOrderInfo.class
  14. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/exportDto/DeliveryGoodsDetailDto.class
  15. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/exportDto/DeliveryGoodsNoticeDto.class
  16. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/exportDto/MaterialRequisitionDetailDto.class
  17. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/exportDto/MaterialRequisitionInfoDto.class
  18. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/exportDto/WorkOrderDetailDto.class
  19. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/exportDto/WorkOrderInfoDto.class
  20. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/mapper/DeliveryGoodsDetailMapper.class
  21. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/mapper/DeliveryGoodsNoticeMapper.class
  22. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/mapper/MaterialRequisitionDetailMapper.class
  23. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/mapper/MaterialRequisitionInfoMapper.class
  24. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/mapper/WorkOrderDetailMapper.class
  25. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/mapper/WorkOrderInfoMapper.class
  26. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/service/IDeliveryGoodsDetailService.class
  27. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/service/IDeliveryGoodsNoticeService.class
  28. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/service/IMaterialRequisitionDetailService.class
  29. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/service/IMaterialRequisitionInfoService.class
  30. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/service/IWorkOrderDetailService.class
  31. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/service/IWorkOrderInfoService.class
  32. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/service/impl/DeliveryGoodsDetailServiceImpl.class
  33. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/service/impl/DeliveryGoodsNoticeServiceImpl.class
  34. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/service/impl/MaterialRequisitionDetailServiceImpl.class
  35. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/service/impl/MaterialRequisitionInfoServiceImpl.class
  36. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/service/impl/WorkOrderDetailServiceImpl.class
  37. BIN
      ruoyi-admin/target/classes/com/ruoyi/manufacture/service/impl/WorkOrderInfoServiceImpl.class
  38. BIN
      ruoyi-admin/target/classes/com/ruoyi/storehouse/controller/WarehousingInspectionDetailController.class
  39. BIN
      ruoyi-admin/target/classes/com/ruoyi/storehouse/controller/WarehousingInspectionNoticeController.class
  40. BIN
      ruoyi-admin/target/classes/com/ruoyi/storehouse/domain/WarehousingInspectionDetail.class
  41. BIN
      ruoyi-admin/target/classes/com/ruoyi/storehouse/domain/WarehousingInspectionNotice.class
  42. BIN
      ruoyi-admin/target/classes/com/ruoyi/storehouse/mapper/WarehousingInspectionDetailMapper.class
  43. BIN
      ruoyi-admin/target/classes/com/ruoyi/storehouse/mapper/WarehousingInspectionNoticeMapper.class
  44. BIN
      ruoyi-admin/target/classes/com/ruoyi/storehouse/service/IWarehousingInspectionDetailService.class
  45. BIN
      ruoyi-admin/target/classes/com/ruoyi/storehouse/service/IWarehousingInspectionNoticeService.class
  46. BIN
      ruoyi-admin/target/classes/com/ruoyi/storehouse/service/impl/WarehousingInspectionDetailServiceImpl.class
  47. BIN
      ruoyi-admin/target/classes/com/ruoyi/storehouse/service/impl/WarehousingInspectionNoticeServiceImpl.class
  48. BIN
      ruoyi-admin/target/classes/com/ruoyi/system/controller/SysBomBcpController.class
  49. BIN
      ruoyi-admin/target/classes/com/ruoyi/system/domain/SysBomBcp.class
  50. BIN
      ruoyi-admin/target/classes/com/ruoyi/system/domain/exportDto/SysBomBcpDto.class
  51. BIN
      ruoyi-admin/target/classes/com/ruoyi/system/mapper/SysBomBcpMapper.class
  52. BIN
      ruoyi-admin/target/classes/com/ruoyi/system/service/ISysBomBcpService.class
  53. BIN
      ruoyi-admin/target/classes/com/ruoyi/system/service/impl/SysBomBcpServiceImpl.class
  54. 136
      ruoyi-admin/target/classes/mapper/manufacture/DeliveryGoodsDetailMapper.xml
  55. 126
      ruoyi-admin/target/classes/mapper/manufacture/DeliveryGoodsNoticeMapper.xml
  56. 108
      ruoyi-admin/target/classes/mapper/manufacture/MaterialRequisitionDetailMapper.xml
  57. 146
      ruoyi-admin/target/classes/mapper/manufacture/MaterialRequisitionInfoMapper.xml
  58. 102
      ruoyi-admin/target/classes/mapper/manufacture/WorkOrderDetailMapper.xml
  59. 189
      ruoyi-admin/target/classes/mapper/manufacture/WorkOrderInfoMapper.xml
  60. 121
      ruoyi-admin/target/classes/mapper/storehouse/WarehousingInspectionDetailMapper.xml
  61. 125
      ruoyi-admin/target/classes/mapper/storehouse/WarehousingInspectionNoticeMapper.xml
  62. 127
      ruoyi-admin/target/classes/mapper/system/SysBomBcpMapper.xml
  63. 127
      ruoyi-admin/target/classes/templates/manufacture/deliveryGoodsDetail/add.html
  64. 170
      ruoyi-admin/target/classes/templates/manufacture/deliveryGoodsDetail/deliveryGoodsDetail.html
  65. 128
      ruoyi-admin/target/classes/templates/manufacture/deliveryGoodsDetail/edit.html
  66. 642
      ruoyi-admin/target/classes/templates/manufacture/deliveryGoodsNotice/add.html
  67. 285
      ruoyi-admin/target/classes/templates/manufacture/deliveryGoodsNotice/deliveryGoodsNotice.html
  68. 652
      ruoyi-admin/target/classes/templates/manufacture/deliveryGoodsNotice/edit.html
  69. 93
      ruoyi-admin/target/classes/templates/manufacture/materialRequisitionDetail/add.html
  70. 94
      ruoyi-admin/target/classes/templates/manufacture/materialRequisitionDetail/edit.html
  71. 145
      ruoyi-admin/target/classes/templates/manufacture/materialRequisitionDetail/materialRequisitionDetail.html
  72. 1521
      ruoyi-admin/target/classes/templates/manufacture/materialRequisitionInfo/add.html
  73. 1526
      ruoyi-admin/target/classes/templates/manufacture/materialRequisitionInfo/edit.html
  74. 330
      ruoyi-admin/target/classes/templates/manufacture/materialRequisitionInfo/materialRequisitionInfo.html
  75. 93
      ruoyi-admin/target/classes/templates/manufacture/workOrderDetail/add.html
  76. 94
      ruoyi-admin/target/classes/templates/manufacture/workOrderDetail/edit.html
  77. 137
      ruoyi-admin/target/classes/templates/manufacture/workOrderDetail/workOrderDetail.html
  78. 1013
      ruoyi-admin/target/classes/templates/manufacture/workOrderInfo/add.html
  79. 1019
      ruoyi-admin/target/classes/templates/manufacture/workOrderInfo/edit.html
  80. 483
      ruoyi-admin/target/classes/templates/manufacture/workOrderInfo/workOrderInfo.html
  81. 115
      ruoyi-admin/target/classes/templates/storehouse/warehousingInspectionDetail/add.html
  82. 116
      ruoyi-admin/target/classes/templates/storehouse/warehousingInspectionDetail/edit.html
  83. 172
      ruoyi-admin/target/classes/templates/storehouse/warehousingInspectionDetail/warehousingInspectionDetail.html
  84. 160
      ruoyi-admin/target/classes/templates/storehouse/warehousingInspectionNotice/add.html
  85. 163
      ruoyi-admin/target/classes/templates/storehouse/warehousingInspectionNotice/edit.html
  86. 182
      ruoyi-admin/target/classes/templates/storehouse/warehousingInspectionNotice/warehousingInspectionNotice.html
  87. 99
      ruoyi-admin/target/classes/templates/system/bomBcp/add.html
  88. 181
      ruoyi-admin/target/classes/templates/system/bomBcp/bomBcp.html
  89. 100
      ruoyi-admin/target/classes/templates/system/bomBcp/edit.html

1
log.path_IS_UNDEFINED/sys-user.log

@ -20,3 +20,4 @@
09:38:08.711 [Thread-41] INFO sys-user - [shutdownEhCacheManager,75] - ====关闭缓存====
09:38:46.052 [Thread-53] INFO sys-user - [shutdownAsyncManager,62] - ====关闭后台任务任务线程池====
09:38:46.053 [Thread-53] INFO sys-user - [shutdownEhCacheManager,75] - ====关闭缓存====
09:39:23.539 [schedule-pool-1] INFO sys-user - [run,109] - [127.0.0.1]内网IP[admin][Success][登录成功]

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/controller/DeliveryGoodsDetailController.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/controller/DeliveryGoodsNoticeController.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/controller/MaterialRequisitionDetailController.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/controller/MaterialRequisitionInfoController.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/controller/WorkOrderDetailController.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/controller/WorkOrderInfoController.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/DeliveryGoodsDetail.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/DeliveryGoodsNotice.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/MaterialRequisitionDetail.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/MaterialRequisitionInfo.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/WorkOrderDetail.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/WorkOrderInfo.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/exportDto/DeliveryGoodsDetailDto.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/exportDto/DeliveryGoodsNoticeDto.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/exportDto/MaterialRequisitionDetailDto.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/exportDto/MaterialRequisitionInfoDto.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/exportDto/WorkOrderDetailDto.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/domain/exportDto/WorkOrderInfoDto.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/mapper/DeliveryGoodsDetailMapper.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/mapper/DeliveryGoodsNoticeMapper.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/mapper/MaterialRequisitionDetailMapper.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/mapper/MaterialRequisitionInfoMapper.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/mapper/WorkOrderDetailMapper.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/mapper/WorkOrderInfoMapper.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/service/IDeliveryGoodsDetailService.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/service/IDeliveryGoodsNoticeService.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/service/IMaterialRequisitionDetailService.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/service/IMaterialRequisitionInfoService.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/service/IWorkOrderDetailService.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/service/IWorkOrderInfoService.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/service/impl/DeliveryGoodsDetailServiceImpl.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/service/impl/DeliveryGoodsNoticeServiceImpl.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/service/impl/MaterialRequisitionDetailServiceImpl.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/service/impl/MaterialRequisitionInfoServiceImpl.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/service/impl/WorkOrderDetailServiceImpl.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/manufacture/service/impl/WorkOrderInfoServiceImpl.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/storehouse/controller/WarehousingInspectionDetailController.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/storehouse/controller/WarehousingInspectionNoticeController.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/storehouse/domain/WarehousingInspectionDetail.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/storehouse/domain/WarehousingInspectionNotice.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/storehouse/mapper/WarehousingInspectionDetailMapper.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/storehouse/mapper/WarehousingInspectionNoticeMapper.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/storehouse/service/IWarehousingInspectionDetailService.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/storehouse/service/IWarehousingInspectionNoticeService.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/storehouse/service/impl/WarehousingInspectionDetailServiceImpl.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/storehouse/service/impl/WarehousingInspectionNoticeServiceImpl.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/system/controller/SysBomBcpController.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/system/domain/SysBomBcp.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/system/domain/exportDto/SysBomBcpDto.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/system/mapper/SysBomBcpMapper.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/system/service/ISysBomBcpService.class

Binary file not shown.

BIN
ruoyi-admin/target/classes/com/ruoyi/system/service/impl/SysBomBcpServiceImpl.class

Binary file not shown.

136
ruoyi-admin/target/classes/mapper/manufacture/DeliveryGoodsDetailMapper.xml

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.manufacture.mapper.DeliveryGoodsDetailMapper">
<resultMap type="DeliveryGoodsDetail" id="DeliveryGoodsDetailResult">
<result property="deliveryGoodsDetailId" column="delivery_goods_detail_id" />
<result property="noticeOrderNumber" column="notice_order_number" />
<result property="salesOrderNumber" column="sales_order_number" />
<result property="enterpriseCode" column="enterprise_code" />
<result property="enterpriseName" column="enterprise_name" />
<result property="finishProductCode" column="finish_product_code" />
<result property="finishProductName" column="finish_product_name" />
<result property="specificationModel" column="specification_model" />
<result property="customerNumber" column="customer_number" />
<result property="typeMachine" column="type_machine" />
<result property="inventoryUnit" column="inventory_unit" />
<result property="commonCurrency" column="common_currency" />
<result property="processPrice" column="process_price" />
<result property="productQuantity" column="product_quantity" />
<result property="amountMoney" column="amount_money" />
<result property="line" column="line" />
<result property="versionNumber" column="version_number" />
<result property="salesExplain" column="sales_explain" />
<result property="standbyOne" column="standby_one" />
<result property="standbyTwo" column="standby_two" />
</resultMap>
<sql id="selectDeliveryGoodsDetailVo">
select delivery_goods_detail_id, notice_order_number, sales_order_number, enterprise_code, enterprise_name, finish_product_code, finish_product_name, specification_model, customer_number, type_machine, inventory_unit, common_currency, process_price, product_quantity, amount_money, line, version_number, sales_explain, standby_one, standby_two from delivery_goods_detail
</sql>
<select id="selectDeliveryGoodsDetailList" parameterType="DeliveryGoodsDetail" resultMap="DeliveryGoodsDetailResult">
<include refid="selectDeliveryGoodsDetailVo"/>
<where>
<if test="noticeOrderNumber != null and noticeOrderNumber != ''"> and notice_order_number like concat('%', #{noticeOrderNumber}, '%')</if>
<if test="salesOrderNumber != null and salesOrderNumber != ''"> and sales_order_number like concat('%', #{salesOrderNumber}, '%')</if>
<if test="enterpriseCode != null and enterpriseCode != ''"> and enterprise_code like concat('%', #{enterpriseCode}, '%')</if>
<if test="enterpriseName != null and enterpriseName != ''"> and enterprise_name like concat('%', #{enterpriseName}, '%')</if>
<if test="finishProductCode != null and finishProductCode != ''"> and finish_product_code like concat('%', #{finishProductCode}, '%')</if>
<if test="finishProductName != null and finishProductName != ''"> and finish_product_name like concat('%', #{finishProductName}, '%')</if>
</where>
</select>
<select id="selectDeliveryGoodsDetailById" parameterType="Long" resultMap="DeliveryGoodsDetailResult">
<include refid="selectDeliveryGoodsDetailVo"/>
where delivery_goods_detail_id = #{deliveryGoodsDetailId}
</select>
<insert id="insertDeliveryGoodsDetail" parameterType="DeliveryGoodsDetail">
insert into delivery_goods_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="deliveryGoodsDetailId != null">delivery_goods_detail_id,</if>
<if test="noticeOrderNumber != null">notice_order_number,</if>
<if test="salesOrderNumber != null">sales_order_number,</if>
<if test="enterpriseCode != null">enterprise_code,</if>
<if test="enterpriseName != null">enterprise_name,</if>
<if test="finishProductCode != null">finish_product_code,</if>
<if test="finishProductName != null">finish_product_name,</if>
<if test="specificationModel != null">specification_model,</if>
<if test="customerNumber != null">customer_number,</if>
<if test="typeMachine != null">type_machine,</if>
<if test="inventoryUnit != null">inventory_unit,</if>
<if test="commonCurrency != null">common_currency,</if>
<if test="processPrice != null">process_price,</if>
<if test="productQuantity != null">product_quantity,</if>
<if test="amountMoney != null">amount_money,</if>
<if test="line != null">line,</if>
<if test="versionNumber != null">version_number,</if>
<if test="salesExplain != null">sales_explain,</if>
<if test="standbyOne != null">standby_one,</if>
<if test="standbyTwo != null">standby_two,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="deliveryGoodsDetailId != null">#{deliveryGoodsDetailId},</if>
<if test="noticeOrderNumber != null">#{noticeOrderNumber},</if>
<if test="salesOrderNumber != null">#{salesOrderNumber},</if>
<if test="enterpriseCode != null">#{enterpriseCode},</if>
<if test="enterpriseName != null">#{enterpriseName},</if>
<if test="finishProductCode != null">#{finishProductCode},</if>
<if test="finishProductName != null">#{finishProductName},</if>
<if test="specificationModel != null">#{specificationModel},</if>
<if test="customerNumber != null">#{customerNumber},</if>
<if test="typeMachine != null">#{typeMachine},</if>
<if test="inventoryUnit != null">#{inventoryUnit},</if>
<if test="commonCurrency != null">#{commonCurrency},</if>
<if test="processPrice != null">#{processPrice},</if>
<if test="productQuantity != null">#{productQuantity},</if>
<if test="amountMoney != null">#{amountMoney},</if>
<if test="line != null">#{line},</if>
<if test="versionNumber != null">#{versionNumber},</if>
<if test="salesExplain != null">#{salesExplain},</if>
<if test="standbyOne != null">#{standbyOne},</if>
<if test="standbyTwo != null">#{standbyTwo},</if>
</trim>
</insert>
<update id="updateDeliveryGoodsDetail" parameterType="DeliveryGoodsDetail">
update delivery_goods_detail
<trim prefix="SET" suffixOverrides=",">
<if test="noticeOrderNumber != null">notice_order_number = #{noticeOrderNumber},</if>
<if test="salesOrderNumber != null">sales_order_number = #{salesOrderNumber},</if>
<if test="enterpriseCode != null">enterprise_code = #{enterpriseCode},</if>
<if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if>
<if test="finishProductCode != null">finish_product_code = #{finishProductCode},</if>
<if test="finishProductName != null">finish_product_name = #{finishProductName},</if>
<if test="specificationModel != null">specification_model = #{specificationModel},</if>
<if test="customerNumber != null">customer_number = #{customerNumber},</if>
<if test="typeMachine != null">type_machine = #{typeMachine},</if>
<if test="inventoryUnit != null">inventory_unit = #{inventoryUnit},</if>
<if test="commonCurrency != null">common_currency = #{commonCurrency},</if>
<if test="processPrice != null">process_price = #{processPrice},</if>
<if test="productQuantity != null">product_quantity = #{productQuantity},</if>
<if test="amountMoney != null">amount_money = #{amountMoney},</if>
<if test="line != null">line = #{line},</if>
<if test="versionNumber != null">version_number = #{versionNumber},</if>
<if test="salesExplain != null">sales_explain = #{salesExplain},</if>
<if test="standbyOne != null">standby_one = #{standbyOne},</if>
<if test="standbyTwo != null">standby_two = #{standbyTwo},</if>
</trim>
where delivery_goods_detail_id = #{deliveryGoodsDetailId}
</update>
<delete id="deleteDeliveryGoodsDetailById" parameterType="Long">
delete from delivery_goods_detail where delivery_goods_detail_id = #{deliveryGoodsDetailId}
</delete>
<delete id="deleteDeliveryGoodsDetailByIds" parameterType="String">
delete from delivery_goods_detail where delivery_goods_detail_id in
<foreach item="deliveryGoodsDetailId" collection="array" open="(" separator="," close=")">
#{deliveryGoodsDetailId}
</foreach>
</delete>
</mapper>

126
ruoyi-admin/target/classes/mapper/manufacture/DeliveryGoodsNoticeMapper.xml

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.manufacture.mapper.DeliveryGoodsNoticeMapper">
<resultMap type="DeliveryGoodsNotice" id="DeliveryGoodsNoticeResult">
<result property="deliveryGoodsNoticeId" column="delivery_goods_notice_id" />
<result property="noticeOrderNumber" column="notice_order_number" />
<result property="deliveryDate" column="delivery_date" />
<result property="enterpriseCode" column="enterprise_code" />
<result property="enterpriseName" column="enterprise_name" />
<result property="customerContact" column="customer_contact" />
<result property="customerFactory" column="customer_factory" />
<result property="deliveryAddress" column="delivery_address" />
<result property="exportSales" column="export_sales" />
<result property="stockNumber" column="stock_number" />
<result property="stockName" column="stock_name" />
<result property="remarks" column="remarks" />
<result property="voucherPreparation" column="voucher_preparation" />
<result property="deliveryGoodsFlag" column="delivery_goods_flag" />
<result property="firstAddTime" column="first_add_time" />
<result property="updateInfoTime" column="update_info_time" />
<result property="standbyOne" column="standby_one" />
<result property="standbyTwo" column="standby_two" />
</resultMap>
<sql id="selectDeliveryGoodsNoticeVo">
select delivery_goods_notice_id, notice_order_number, delivery_date, enterprise_code, enterprise_name, customer_contact, customer_factory, delivery_address, export_sales, stock_number, stock_name, remarks, voucher_preparation, delivery_goods_flag, first_add_time, update_info_time, standby_one, standby_two from delivery_goods_notice
</sql>
<select id="selectDeliveryGoodsNoticeList" parameterType="DeliveryGoodsNotice" resultMap="DeliveryGoodsNoticeResult">
<include refid="selectDeliveryGoodsNoticeVo"/>
<where>
<if test="noticeOrderNumber != null and noticeOrderNumber != ''"> and notice_order_number like concat('%', #{noticeOrderNumber}, '%')</if>
<if test="deliveryDate != null and deliveryDate != ''"> and delivery_date like concat('%', #{deliveryDate}, '%')</if>
<if test="enterpriseCode != null and enterpriseCode != ''"> and enterprise_code like concat('%', #{enterpriseCode}, '%')</if>
<if test="enterpriseName != null and enterpriseName != ''"> and enterprise_name like concat('%', #{enterpriseName}, '%')</if>
<if test="exportSales != null and exportSales != ''"> and export_sales = #{exportSales}</if>
<if test="deliveryGoodsFlag != null and deliveryGoodsFlag != ''"> and delivery_goods_flag = #{deliveryGoodsFlag}</if>
</where>
</select>
<select id="selectDeliveryGoodsNoticeById" parameterType="Long" resultMap="DeliveryGoodsNoticeResult">
<include refid="selectDeliveryGoodsNoticeVo"/>
where delivery_goods_notice_id = #{deliveryGoodsNoticeId}
</select>
<insert id="insertDeliveryGoodsNotice" parameterType="DeliveryGoodsNotice" useGeneratedKeys="true" keyProperty="deliveryGoodsNoticeId">
insert into delivery_goods_notice
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="noticeOrderNumber != null and noticeOrderNumber != ''">notice_order_number,</if>
<if test="deliveryDate != null">delivery_date,</if>
<if test="enterpriseCode != null and enterpriseCode != ''">enterprise_code,</if>
<if test="enterpriseName != null and enterpriseName != ''">enterprise_name,</if>
<if test="customerContact != null">customer_contact,</if>
<if test="customerFactory != null">customer_factory,</if>
<if test="deliveryAddress != null">delivery_address,</if>
<if test="exportSales != null">export_sales,</if>
<if test="stockNumber != null">stock_number,</if>
<if test="stockName != null">stock_name,</if>
<if test="remarks != null">remarks,</if>
<if test="voucherPreparation != null">voucher_preparation,</if>
<if test="deliveryGoodsFlag != null">delivery_goods_flag,</if>
<if test="standbyOne != null">standby_one,</if>
<if test="standbyTwo != null">standby_two,</if>
first_add_time,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="noticeOrderNumber != null and noticeOrderNumber != ''">#{noticeOrderNumber},</if>
<if test="deliveryDate != null">#{deliveryDate},</if>
<if test="enterpriseCode != null and enterpriseCode != ''">#{enterpriseCode},</if>
<if test="enterpriseName != null and enterpriseName != ''">#{enterpriseName},</if>
<if test="customerContact != null">#{customerContact},</if>
<if test="customerFactory != null">#{customerFactory},</if>
<if test="deliveryAddress != null">#{deliveryAddress},</if>
<if test="exportSales != null">#{exportSales},</if>
<if test="stockNumber != null">#{stockNumber},</if>
<if test="stockName != null">#{stockName},</if>
<if test="remarks != null">#{remarks},</if>
<if test="voucherPreparation != null">#{voucherPreparation},</if>
<if test="deliveryGoodsFlag != null">#{deliveryGoodsFlag},</if>
<if test="standbyOne != null">#{standbyOne},</if>
<if test="standbyTwo != null">#{standbyTwo},</if>
NOW(),
</trim>
</insert>
<update id="updateDeliveryGoodsNotice" parameterType="DeliveryGoodsNotice">
update delivery_goods_notice
<trim prefix="SET" suffixOverrides=",">
<if test="noticeOrderNumber != null and noticeOrderNumber != ''">notice_order_number = #{noticeOrderNumber},</if>
<if test="deliveryDate != null">delivery_date = #{deliveryDate},</if>
<if test="enterpriseCode != null and enterpriseCode != ''">enterprise_code = #{enterpriseCode},</if>
<if test="enterpriseName != null and enterpriseName != ''">enterprise_name = #{enterpriseName},</if>
<if test="customerContact != null">customer_contact = #{customerContact},</if>
<if test="customerFactory != null">customer_factory = #{customerFactory},</if>
<if test="deliveryAddress != null">delivery_address = #{deliveryAddress},</if>
<if test="exportSales != null">export_sales = #{exportSales},</if>
<if test="stockNumber != null">stock_number = #{stockNumber},</if>
<if test="stockName != null">stock_name = #{stockName},</if>
<if test="remarks != null">remarks = #{remarks},</if>
<if test="voucherPreparation != null">voucher_preparation = #{voucherPreparation},</if>
<if test="deliveryGoodsFlag != null">delivery_goods_flag = #{deliveryGoodsFlag},</if>
<if test="standbyOne != null">standby_one = #{standbyOne},</if>
<if test="standbyTwo != null">standby_two = #{standbyTwo},</if>
update_info_time = CONCAT_WS(',',NOW(),update_info_time),
</trim>
where delivery_goods_notice_id = #{deliveryGoodsNoticeId}
</update>
<delete id="deleteDeliveryGoodsNoticeById" parameterType="Long">
delete from delivery_goods_notice where delivery_goods_notice_id = #{deliveryGoodsNoticeId}
</delete>
<delete id="deleteDeliveryGoodsNoticeByIds" parameterType="String">
delete from delivery_goods_notice where delivery_goods_notice_id in
<foreach item="deliveryGoodsNoticeId" collection="array" open="(" separator="," close=")">
#{deliveryGoodsNoticeId}
</foreach>
</delete>
<select id="selectCountByDay" resultType="Integer">
select count(*) from delivery_goods_notice where to_days(first_add_time) = to_days(now());
</select>
</mapper>

108
ruoyi-admin/target/classes/mapper/manufacture/MaterialRequisitionDetailMapper.xml

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.manufacture.mapper.MaterialRequisitionDetailMapper">
<resultMap type="MaterialRequisitionDetail" id="MaterialRequisitionDetailResult">
<result property="materialRequisitionDetailId" column="material_requisition_detail_id" />
<result property="materialRequisitionNumber" column="material_requisition_number" />
<result property="materialCode" column="material_code" />
<result property="materialName" column="material_name" />
<result property="specificationModel" column="specification_model" />
<result property="typeMachine" column="type_machine" />
<result property="inventoryUnit" column="inventory_unit" />
<result property="planQuantity" column="plan_quantity" />
<result property="description" column="description" />
<result property="unitUsage" column="unit_usage" />
<result property="storageLocation" column="storage_location" />
<result property="materialType" column="material_type" />
<result property="standbyOne" column="standby_one" />
<result property="standbyTwo" column="standby_two" />
</resultMap>
<sql id="selectMaterialRequisitionDetailVo">
select material_requisition_detail_id, material_requisition_number, material_code, material_name, specification_model, type_machine, inventory_unit, plan_quantity, description, unit_usage, storage_location, material_type, standby_one, standby_two from material_requisition_detail
</sql>
<select id="selectMaterialRequisitionDetailList" parameterType="MaterialRequisitionDetail" resultMap="MaterialRequisitionDetailResult">
<include refid="selectMaterialRequisitionDetailVo"/>
<where>
<if test="materialRequisitionNumber != null and materialRequisitionNumber != ''"> and material_requisition_number like concat('%', #{materialRequisitionNumber}, '%')</if>
<if test="materialCode != null and materialCode != ''"> and material_code like concat('%', #{materialCode}, '%')</if>
<if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if>
<if test="materialType != null and materialType != ''"> and material_type = #{materialType}</if>
</where>
</select>
<select id="selectMaterialRequisitionDetailById" parameterType="Long" resultMap="MaterialRequisitionDetailResult">
<include refid="selectMaterialRequisitionDetailVo"/>
where material_requisition_detail_id = #{materialRequisitionDetailId}
</select>
<insert id="insertMaterialRequisitionDetail" parameterType="MaterialRequisitionDetail" useGeneratedKeys="true" keyProperty="materialRequisitionDetailId">
insert into material_requisition_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="materialRequisitionNumber != null">material_requisition_number,</if>
<if test="materialCode != null">material_code,</if>
<if test="materialName != null">material_name,</if>
<if test="specificationModel != null">specification_model,</if>
<if test="typeMachine != null">type_machine,</if>
<if test="inventoryUnit != null">inventory_unit,</if>
<if test="planQuantity != null">plan_quantity,</if>
<if test="description != null">description,</if>
<if test="unitUsage != null">unit_usage,</if>
<if test="storageLocation != null">storage_location,</if>
<if test="materialType != null">material_type,</if>
<if test="standbyOne != null">standby_one,</if>
<if test="standbyTwo != null">standby_two,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="materialRequisitionNumber != null">#{materialRequisitionNumber},</if>
<if test="materialCode != null">#{materialCode},</if>
<if test="materialName != null">#{materialName},</if>
<if test="specificationModel != null">#{specificationModel},</if>
<if test="typeMachine != null">#{typeMachine},</if>
<if test="inventoryUnit != null">#{inventoryUnit},</if>
<if test="planQuantity != null">#{planQuantity},</if>
<if test="description != null">#{description},</if>
<if test="unitUsage != null">#{unitUsage},</if>
<if test="storageLocation != null">#{storageLocation},</if>
<if test="materialType != null">#{materialType},</if>
<if test="standbyOne != null">#{standbyOne},</if>
<if test="standbyTwo != null">#{standbyTwo},</if>
</trim>
</insert>
<update id="updateMaterialRequisitionDetail" parameterType="MaterialRequisitionDetail">
update material_requisition_detail
<trim prefix="SET" suffixOverrides=",">
<if test="materialRequisitionNumber != null">material_requisition_number = #{materialRequisitionNumber},</if>
<if test="materialCode != null">material_code = #{materialCode},</if>
<if test="materialName != null">material_name = #{materialName},</if>
<if test="specificationModel != null">specification_model = #{specificationModel},</if>
<if test="typeMachine != null">type_machine = #{typeMachine},</if>
<if test="inventoryUnit != null">inventory_unit = #{inventoryUnit},</if>
<if test="planQuantity != null">plan_quantity = #{planQuantity},</if>
<if test="description != null">description = #{description},</if>
<if test="unitUsage != null">unit_usage = #{unitUsage},</if>
<if test="storageLocation != null">storage_location = #{storageLocation},</if>
<if test="materialType != null">material_type = #{materialType},</if>
<if test="standbyOne != null">standby_one = #{standbyOne},</if>
<if test="standbyTwo != null">standby_two = #{standbyTwo},</if>
</trim>
where material_requisition_detail_id = #{materialRequisitionDetailId}
</update>
<delete id="deleteMaterialRequisitionDetailById" parameterType="Long">
delete from material_requisition_detail where material_requisition_detail_id = #{materialRequisitionDetailId}
</delete>
<delete id="deleteMaterialRequisitionDetailByIds" parameterType="String">
delete from material_requisition_detail where material_requisition_detail_id in
<foreach item="materialRequisitionDetailId" collection="array" open="(" separator="," close=")">
#{materialRequisitionDetailId}
</foreach>
</delete>
</mapper>

146
ruoyi-admin/target/classes/mapper/manufacture/MaterialRequisitionInfoMapper.xml

@ -0,0 +1,146 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.manufacture.mapper.MaterialRequisitionInfoMapper">
<resultMap type="MaterialRequisitionInfo" id="MaterialRequisitionInfoResult">
<result property="materialRequisitionId" column="material_requisition_id" />
<result property="materialRequisitionNumber" column="material_requisition_number" />
<result property="salesOrderNumber" column="sales_order_number" />
<result property="workOrderNumber" column="work_order_number" />
<result property="deptName" column="dept_name" />
<result property="materialRequisitionPerson" column="material_requisition_person" />
<result property="deptNumber" column="dept_number" />
<result property="stockNumber" column="stock_number" />
<result property="stockName" column="stock_name" />
<result property="stockManager" column="stock_manager" />
<result property="outputClass" column="output_class" />
<result property="outputDate" column="output_date" />
<result property="finishProductCode" column="finish_product_code" />
<result property="typeMachine" column="type_machine" />
<result property="workOrderQuantity" column="work_order_quantity" />
<result property="remarkContent" column="remark_content" />
<result property="getMaterialFlag" column="get_material_flag" />
<result property="firstAddTime" column="first_add_time" />
<result property="updateInfoTime" column="update_info_time" />
<result property="standbyOne" column="standby_one" />
<result property="standbyTwo" column="standby_two" />
</resultMap>
<sql id="selectMaterialRequisitionInfoVo">
select material_requisition_id, material_requisition_number, sales_order_number, work_order_number, dept_name, material_requisition_person, dept_number, stock_number, stock_name, stock_manager, output_class, output_date, finish_product_code, type_machine, work_order_quantity, remark_content, get_material_flag, first_add_time, update_info_time, standby_one, standby_two from material_requisition_info
</sql>
<select id="selectMaterialRequisitionInfoList" parameterType="MaterialRequisitionInfo" resultMap="MaterialRequisitionInfoResult">
<include refid="selectMaterialRequisitionInfoVo"/>
<where>
<if test="materialRequisitionNumber != null and materialRequisitionNumber != ''"> and material_requisition_number like concat('%', #{materialRequisitionNumber}, '%')</if>
<if test="salesOrderNumber != null and salesOrderNumber != ''"> and sales_order_number like concat('%', #{salesOrderNumber}, '%')</if>
<if test="workOrderNumber != null and workOrderNumber != ''"> and work_order_number like concat('%', #{workOrderNumber}, '%')</if>
<if test="deptName != null and deptName != ''"> and dept_name = #{deptName}</if>
<if test="stockName != null and stockName != ''"> and stock_name like concat('%', #{stockName}, '%')</if>
<if test="outputClass != null and outputClass != ''"> and output_class = #{outputClass}</if>
<if test="params.beginOutputDate != null and params.beginOutputDate != '' and params.endOutputDate != null and params.endOutputDate != ''"> and output_date between #{params.beginOutputDate} and #{params.endOutputDate}</if>
<if test="getMaterialFlag != null and getMaterialFlag != ''"> and get_material_flag = #{getMaterialFlag}</if>
</where>
</select>
<select id="selectMaterialRequisitionInfoById" parameterType="Long" resultMap="MaterialRequisitionInfoResult">
<include refid="selectMaterialRequisitionInfoVo"/>
where material_requisition_id = #{materialRequisitionId}
</select>
<insert id="insertMaterialRequisitionInfo" parameterType="MaterialRequisitionInfo" useGeneratedKeys="true" keyProperty="materialRequisitionId">
insert into material_requisition_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="materialRequisitionNumber != null and materialRequisitionNumber != ''">material_requisition_number,</if>
<if test="salesOrderNumber != null">sales_order_number,</if>
<if test="workOrderNumber != null">work_order_number,</if>
<if test="deptName != null">dept_name,</if>
<if test="materialRequisitionPerson != null">material_requisition_person,</if>
<if test="deptNumber != null">dept_number,</if>
<if test="stockNumber != null">stock_number,</if>
<if test="stockName != null">stock_name,</if>
<if test="stockManager != null">stock_manager,</if>
<if test="outputClass != null">output_class,</if>
<if test="outputDate != null">output_date,</if>
<if test="finishProductCode != null">finish_product_code,</if>
<if test="typeMachine != null">type_machine,</if>
<if test="workOrderQuantity != null">work_order_quantity,</if>
<if test="remarkContent != null">remark_content,</if>
<if test="getMaterialFlag != null">get_material_flag,</if>
<if test="firstAddTime != null">first_add_time,</if>
<if test="updateInfoTime != null">update_info_time,</if>
<if test="standbyOne != null">standby_one,</if>
<if test="standbyTwo != null">standby_two,</if>
first_add_time,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="materialRequisitionNumber != null and materialRequisitionNumber != ''">#{materialRequisitionNumber},</if>
<if test="salesOrderNumber != null">#{salesOrderNumber},</if>
<if test="workOrderNumber != null">#{workOrderNumber},</if>
<if test="deptName != null">#{deptName},</if>
<if test="materialRequisitionPerson != null">#{materialRequisitionPerson},</if>
<if test="deptNumber != null">#{deptNumber},</if>
<if test="stockNumber != null">#{stockNumber},</if>
<if test="stockName != null">#{stockName},</if>
<if test="stockManager != null">#{stockManager},</if>
<if test="outputClass != null">#{outputClass},</if>
<if test="outputDate != null">#{outputDate},</if>
<if test="finishProductCode != null">#{finishProductCode},</if>
<if test="typeMachine != null">#{typeMachine},</if>
<if test="workOrderQuantity != null">#{workOrderQuantity},</if>
<if test="remarkContent != null">#{remarkContent},</if>
<if test="getMaterialFlag != null">#{getMaterialFlag},</if>
<if test="firstAddTime != null">#{firstAddTime},</if>
<if test="updateInfoTime != null">#{updateInfoTime},</if>
<if test="standbyOne != null">#{standbyOne},</if>
<if test="standbyTwo != null">#{standbyTwo},</if>
now(),
</trim>
</insert>
<update id="updateMaterialRequisitionInfo" parameterType="MaterialRequisitionInfo">
update material_requisition_info
<trim prefix="SET" suffixOverrides=",">
<if test="materialRequisitionNumber != null and materialRequisitionNumber != ''">material_requisition_number = #{materialRequisitionNumber},</if>
<if test="salesOrderNumber != null">sales_order_number = #{salesOrderNumber},</if>
<if test="workOrderNumber != null">work_order_number = #{workOrderNumber},</if>
<if test="deptName != null">dept_name = #{deptName},</if>
<if test="materialRequisitionPerson != null">material_requisition_person = #{materialRequisitionPerson},</if>
<if test="deptNumber != null">dept_number = #{deptNumber},</if>
<if test="stockNumber != null">stock_number = #{stockNumber},</if>
<if test="stockName != null">stock_name = #{stockName},</if>
<if test="stockManager != null">stock_manager = #{stockManager},</if>
<if test="outputClass != null">output_class = #{outputClass},</if>
<if test="outputDate != null">output_date = #{outputDate},</if>
<if test="finishProductCode != null">finish_product_code = #{finishProductCode},</if>
<if test="typeMachine != null">type_machine = #{typeMachine},</if>
<if test="workOrderQuantity != null">work_order_quantity = #{workOrderQuantity},</if>
<if test="remarkContent != null">remark_content = #{remarkContent},</if>
<if test="getMaterialFlag != null">get_material_flag = #{getMaterialFlag},</if>
<if test="firstAddTime != null">first_add_time = #{firstAddTime},</if>
<if test="updateInfoTime != null">update_info_time = #{updateInfoTime},</if>
<if test="standbyOne != null">standby_one = #{standbyOne},</if>
<if test="standbyTwo != null">standby_two = #{standbyTwo},</if>
update_info_time = CONCAT_WS(',',NOW(),update_info_time),
</trim>
where material_requisition_id = #{materialRequisitionId}
</update>
<delete id="deleteMaterialRequisitionInfoById" parameterType="Long">
delete from material_requisition_info where material_requisition_id = #{materialRequisitionId}
</delete>
<delete id="deleteMaterialRequisitionInfoByIds" parameterType="String">
delete from material_requisition_info where material_requisition_id in
<foreach item="materialRequisitionId" collection="array" open="(" separator="," close=")">
#{materialRequisitionId}
</foreach>
</delete>
<select id="selectCountByDay" resultType="Integer">
select count(*) from material_requisition_info where to_days(output_date) = to_days(now());
</select>
</mapper>

102
ruoyi-admin/target/classes/mapper/manufacture/WorkOrderDetailMapper.xml

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.manufacture.mapper.WorkOrderDetailMapper">
<resultMap type="WorkOrderDetail" id="WorkOrderDetailResult">
<result property="workOrderDetailId" column="work_order_detail_id" />
<result property="workOrderNumber" column="work_order_number" />
<result property="materialCode" column="material_code" />
<result property="materialName" column="material_name" />
<result property="specificationModel" column="specification_model" />
<result property="inventoryUnit" column="inventory_unit" />
<result property="materialType" column="material_type" />
<result property="materialConsumption" column="material_consumption" />
<result property="itemNumber" column="item_number" />
<result property="description" column="description" />
<result property="standbyOne" column="standby_one" />
<result property="standbyTwo" column="standby_two" />
</resultMap>
<sql id="selectWorkOrderDetailVo">
select work_order_detail_id, work_order_number, material_code, material_name, specification_model, inventory_unit, material_type, material_consumption, item_number, description, standby_one, standby_two from work_order_detail
</sql>
<select id="selectWorkOrderDetailList" parameterType="WorkOrderDetail" resultMap="WorkOrderDetailResult">
<include refid="selectWorkOrderDetailVo"/>
<where>
<if test="workOrderNumber != null and workOrderNumber != ''"> and work_order_number like concat('%', #{workOrderNumber}, '%')</if>
<if test="materialCode != null and materialCode != ''"> and material_code like concat('%', #{materialCode}, '%')</if>
<if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if>
<if test="materialType != null and materialType != ''"> and material_type = #{materialType}</if>
</where>
</select>
<select id="selectWorkOrderDetailById" parameterType="Long" resultMap="WorkOrderDetailResult">
<include refid="selectWorkOrderDetailVo"/>
where work_order_detail_id = #{workOrderDetailId}
</select>
<insert id="insertWorkOrderDetail" parameterType="WorkOrderDetail">
insert into work_order_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="workOrderDetailId != null">work_order_detail_id,</if>
<if test="workOrderNumber != null and workOrderNumber != ''">work_order_number,</if>
<if test="materialCode != null and materialCode != ''">material_code,</if>
<if test="materialName != null">material_name,</if>
<if test="specificationModel != null">specification_model,</if>
<if test="inventoryUnit != null">inventory_unit,</if>
<if test="materialType != null">material_type,</if>
<if test="materialConsumption != null">material_consumption,</if>
<if test="itemNumber != null">item_number,</if>
<if test="description != null">description,</if>
<if test="standbyOne != null">standby_one,</if>
<if test="standbyTwo != null">standby_two,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="workOrderDetailId != null">#{workOrderDetailId},</if>
<if test="workOrderNumber != null and workOrderNumber != ''">#{workOrderNumber},</if>
<if test="materialCode != null and materialCode != ''">#{materialCode},</if>
<if test="materialName != null">#{materialName},</if>
<if test="specificationModel != null">#{specificationModel},</if>
<if test="inventoryUnit != null">#{inventoryUnit},</if>
<if test="materialType != null">#{materialType},</if>
<if test="materialConsumption != null">#{materialConsumption},</if>
<if test="itemNumber != null">#{itemNumber},</if>
<if test="description != null">#{description},</if>
<if test="standbyOne != null">#{standbyOne},</if>
<if test="standbyTwo != null">#{standbyTwo},</if>
</trim>
</insert>
<update id="updateWorkOrderDetail" parameterType="WorkOrderDetail">
update work_order_detail
<trim prefix="SET" suffixOverrides=",">
<if test="workOrderNumber != null and workOrderNumber != ''">work_order_number = #{workOrderNumber},</if>
<if test="materialCode != null and materialCode != ''">material_code = #{materialCode},</if>
<if test="materialName != null">material_name = #{materialName},</if>
<if test="specificationModel != null">specification_model = #{specificationModel},</if>
<if test="inventoryUnit != null">inventory_unit = #{inventoryUnit},</if>
<if test="materialType != null">material_type = #{materialType},</if>
<if test="materialConsumption != null">material_consumption = #{materialConsumption},</if>
<if test="itemNumber != null">item_number = #{itemNumber},</if>
<if test="description != null">description = #{description},</if>
<if test="standbyOne != null">standby_one = #{standbyOne},</if>
<if test="standbyTwo != null">standby_two = #{standbyTwo},</if>
</trim>
where work_order_detail_id = #{workOrderDetailId}
</update>
<delete id="deleteWorkOrderDetailById" parameterType="Long">
delete from work_order_detail where work_order_detail_id = #{workOrderDetailId}
</delete>
<delete id="deleteWorkOrderDetailByIds" parameterType="String">
delete from work_order_detail where work_order_detail_id in
<foreach item="workOrderDetailId" collection="array" open="(" separator="," close=")">
#{workOrderDetailId}
</foreach>
</delete>
</mapper>

189
ruoyi-admin/target/classes/mapper/manufacture/WorkOrderInfoMapper.xml

@ -0,0 +1,189 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.manufacture.mapper.WorkOrderInfoMapper">
<resultMap type="WorkOrderInfo" id="WorkOrderInfoResult">
<result property="workOrderId" column="work_order_id" />
<result property="salesOrderNumber" column="sales_order_number" />
<result property="workOrderNumber" column="work_order_number" />
<result property="line" column="line" />
<result property="processDept" column="process_dept" />
<result property="enterpriseCode" column="enterprise_code" />
<result property="enterpriseName" column="enterprise_name" />
<result property="finishProductCode" column="finish_product_code" />
<result property="finishProductName" column="finish_product_name" />
<result property="specificationModel" column="specification_model" />
<result property="typeMachine" column="type_machine" />
<result property="inventoryUnit" column="inventory_unit" />
<result property="orderQuantity" column="order_quantity" />
<result property="deliveryOrderQuantity" column="delivery_order_quantity" />
<result property="beginOrderQuantity" column="begin_order_quantity" />
<result property="notBeginOrderQuantity" column="not_begin_order_quantity" />
<result property="customerFactory" column="customer_factory" />
<result property="beginDate" column="begin_date" />
<result property="endDate" column="end_date" />
<result property="billingTime" column="billing_time" />
<result property="deliveryTime" column="delivery_time" />
<result property="versionNumber" column="version_number" />
<result property="salesExplain" column="sales_explain" />
<result property="workOrderClass" column="work_order_class" />
<result property="firstAddTime" column="first_add_time" />
<result property="updateInfoTime" column="update_info_time" />
<result property="closeCaseFlag" column="close_case_flag" />
<result property="closeCasePerson" column="close_case_person" />
<result property="closeCaseTime" column="close_case_time" />
<result property="standbyOne" column="standby_one" />
<result property="standbyTwo" column="standby_two" />
</resultMap>
<sql id="selectWorkOrderInfoVo">
select work_order_id, sales_order_number, work_order_number, line, process_dept, enterprise_code, enterprise_name, finish_product_code, finish_product_name, specification_model, type_machine, inventory_unit, order_quantity, delivery_order_quantity, begin_order_quantity, not_begin_order_quantity, customer_factory, begin_date, end_date, billing_time, delivery_time, version_number, sales_explain, work_order_class, first_add_time, update_info_time, close_case_flag, close_case_person, close_case_time, standby_one, standby_two from work_order_info
</sql>
<select id="selectWorkOrderInfoList" parameterType="WorkOrderInfo" resultMap="WorkOrderInfoResult">
<include refid="selectWorkOrderInfoVo"/>
<where>
<if test="salesOrderNumber != null and salesOrderNumber != ''"> and sales_order_number like concat('%', #{salesOrderNumber}, '%')</if>
<if test="workOrderNumber != null and workOrderNumber != ''"> and work_order_number like concat('%', #{workOrderNumber}, '%')</if>
<if test="processDept != null and processDept != ''"> and process_dept like concat('%', #{processDept}, '%')</if>
<if test="enterpriseCode != null and enterpriseCode != ''"> and enterprise_code like concat('%', #{enterpriseCode}, '%')</if>
<if test="finishProductCode != null and finishProductCode != ''"> and finish_product_code like concat('%', #{finishProductCode}, '%')</if>
<if test="finishProductName != null and finishProductName != ''"> and finish_product_name like concat('%', #{finishProductName}, '%')</if>
<if test="params.beginBillingTime != null and params.beginBillingTime != '' and params.endBillingTime != null and params.endBillingTime != ''"> and billing_time between #{params.beginBillingTime} and #{params.endBillingTime}</if>
<if test="params.beginDeliveryTime != null and params.beginDeliveryTime != '' and params.endDeliveryTime != null and params.endDeliveryTime != ''"> and delivery_time between #{params.beginDeliveryTime} and #{params.endDeliveryTime}</if>
<if test="workOrderClass != null and workOrderClass != ''"> and work_order_class = #{workOrderClass}</if>
<if test="closeCaseFlag != null and closeCaseFlag != ''"> and close_case_flag = #{closeCaseFlag}</if>
</where>
</select>
<select id="selectWorkOrderInfoById" parameterType="Long" resultMap="WorkOrderInfoResult">
<include refid="selectWorkOrderInfoVo"/>
where work_order_id = #{workOrderId}
</select>
<insert id="insertWorkOrderInfo" parameterType="WorkOrderInfo" useGeneratedKeys="true" keyProperty="workOrderId">
insert into work_order_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="salesOrderNumber != null">sales_order_number,</if>
<if test="workOrderNumber != null">work_order_number,</if>
<if test="line != null">line,</if>
<if test="processDept != null">process_dept,</if>
<if test="enterpriseCode != null">enterprise_code,</if>
<if test="enterpriseName != null">enterprise_name,</if>
<if test="finishProductCode != null">finish_product_code,</if>
<if test="finishProductName != null">finish_product_name,</if>
<if test="specificationModel != null">specification_model,</if>
<if test="typeMachine != null">type_machine,</if>
<if test="inventoryUnit != null">inventory_unit,</if>
<if test="orderQuantity != null">order_quantity,</if>
<if test="deliveryOrderQuantity != null">delivery_order_quantity,</if>
<if test="beginOrderQuantity != null">begin_order_quantity,</if>
<if test="notBeginOrderQuantity != null">not_begin_order_quantity,</if>
<if test="customerFactory != null">customer_factory,</if>
<if test="beginDate != null">begin_date,</if>
<if test="endDate != null">end_date,</if>
<if test="billingTime != null">billing_time,</if>
<if test="deliveryTime != null">delivery_time,</if>
<if test="versionNumber != null">version_number,</if>
<if test="salesExplain != null">sales_explain,</if>
<if test="workOrderClass != null">work_order_class,</if>
<if test="firstAddTime != null">first_add_time,</if>
<if test="updateInfoTime != null">update_info_time,</if>
<if test="closeCaseFlag != null">close_case_flag,</if>
<if test="closeCasePerson != null">close_case_person,</if>
<if test="closeCaseTime != null">close_case_time,</if>
<if test="standbyOne != null">standby_one,</if>
<if test="standbyTwo != null">standby_two,</if>
first_add_time,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="salesOrderNumber != null">#{salesOrderNumber},</if>
<if test="workOrderNumber != null">#{workOrderNumber},</if>
<if test="line != null">#{line},</if>
<if test="processDept != null">#{processDept},</if>
<if test="enterpriseCode != null">#{enterpriseCode},</if>
<if test="enterpriseName != null">#{enterpriseName},</if>
<if test="finishProductCode != null">#{finishProductCode},</if>
<if test="finishProductName != null">#{finishProductName},</if>
<if test="specificationModel != null">#{specificationModel},</if>
<if test="typeMachine != null">#{typeMachine},</if>
<if test="inventoryUnit != null">#{inventoryUnit},</if>
<if test="orderQuantity != null">#{orderQuantity},</if>
<if test="deliveryOrderQuantity != null">#{deliveryOrderQuantity},</if>
<if test="beginOrderQuantity != null">#{beginOrderQuantity},</if>
<if test="notBeginOrderQuantity != null">#{notBeginOrderQuantity},</if>
<if test="customerFactory != null">#{customerFactory},</if>
<if test="beginDate != null">#{beginDate},</if>
<if test="endDate != null">#{endDate},</if>
<if test="billingTime != null">#{billingTime},</if>
<if test="deliveryTime != null">#{deliveryTime},</if>
<if test="versionNumber != null">#{versionNumber},</if>
<if test="salesExplain != null">#{salesExplain},</if>
<if test="workOrderClass != null">#{workOrderClass},</if>
<if test="firstAddTime != null">#{firstAddTime},</if>
<if test="updateInfoTime != null">#{updateInfoTime},</if>
<if test="closeCaseFlag != null">#{closeCaseFlag},</if>
<if test="closeCasePerson != null">#{closeCasePerson},</if>
<if test="closeCaseTime != null">#{closeCaseTime},</if>
<if test="standbyOne != null">#{standbyOne},</if>
<if test="standbyTwo != null">#{standbyTwo},</if>
now(),
</trim>
</insert>
<update id="updateWorkOrderInfo" parameterType="WorkOrderInfo">
update work_order_info
<trim prefix="SET" suffixOverrides=",">
<if test="salesOrderNumber != null">sales_order_number = #{salesOrderNumber},</if>
<if test="workOrderNumber != null">work_order_number = #{workOrderNumber},</if>
<if test="line != null">line = #{line},</if>
<if test="processDept != null">process_dept = #{processDept},</if>
<if test="enterpriseCode != null">enterprise_code = #{enterpriseCode},</if>
<if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if>
<if test="finishProductCode != null">finish_product_code = #{finishProductCode},</if>
<if test="finishProductName != null">finish_product_name = #{finishProductName},</if>
<if test="specificationModel != null">specification_model = #{specificationModel},</if>
<if test="typeMachine != null">type_machine = #{typeMachine},</if>
<if test="inventoryUnit != null">inventory_unit = #{inventoryUnit},</if>
<if test="orderQuantity != null">order_quantity = #{orderQuantity},</if>
<if test="deliveryOrderQuantity != null">delivery_order_quantity = #{deliveryOrderQuantity},</if>
<if test="beginOrderQuantity != null">begin_order_quantity = #{beginOrderQuantity},</if>
<if test="notBeginOrderQuantity != null">not_begin_order_quantity = #{notBeginOrderQuantity},</if>
<if test="customerFactory != null">customer_factory = #{customerFactory},</if>
<if test="beginDate != null">begin_date = #{beginDate},</if>
<if test="endDate != null">end_date = #{endDate},</if>
<if test="billingTime != null">billing_time = #{billingTime},</if>
<if test="deliveryTime != null">delivery_time = #{deliveryTime},</if>
<if test="versionNumber != null">version_number = #{versionNumber},</if>
<if test="salesExplain != null">sales_explain = #{salesExplain},</if>
<if test="workOrderClass != null">work_order_class = #{workOrderClass},</if>
<if test="firstAddTime != null">first_add_time = #{firstAddTime},</if>
<if test="updateInfoTime != null">update_info_time = #{updateInfoTime},</if>
<if test="closeCaseFlag != null">close_case_flag = #{closeCaseFlag},</if>
<if test="closeCasePerson != null">close_case_person = #{closeCasePerson},</if>
<if test="closeCaseTime != null">close_case_time = #{closeCaseTime},</if>
<if test="standbyOne != null">standby_one = #{standbyOne},</if>
<if test="standbyTwo != null">standby_two = #{standbyTwo},</if>
update_info_time = CONCAT_WS(',',NOW(),update_info_time),
</trim>
where work_order_id = #{workOrderId}
</update>
<delete id="deleteWorkOrderInfoById" parameterType="Long">
delete from work_order_info where work_order_id = #{workOrderId}
</delete>
<delete id="deleteWorkOrderInfoByIds" parameterType="String">
delete from work_order_info where work_order_id in
<foreach item="workOrderId" collection="array" open="(" separator="," close=")">
#{workOrderId}
</foreach>
</delete>
<select id="selectCountByDay" resultType="Integer">
select count(*) from work_order_info where to_days(billing_time) = to_days(now());
</select>
</mapper>

121
ruoyi-admin/target/classes/mapper/storehouse/WarehousingInspectionDetailMapper.xml

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.storehouse.mapper.WarehousingInspectionDetailMapper">
<resultMap type="WarehousingInspectionDetail" id="WarehousingInspectionDetailResult">
<result property="warehousingInspectionDetailId" column="warehousing_inspection_detail_id" />
<result property="inNoticeNumber" column="in_notice_number" />
<result property="materialCode" column="material_code" />
<result property="materialName" column="material_name" />
<result property="specificationModel" column="specification_model" />
<result property="materialType" column="material_type" />
<result property="purchasingUnit" column="purchasing_unit" />
<result property="materialQuantity" column="material_quantity" />
<result property="qualifiedQuantity" column="qualified_quantity" />
<result property="unqualifiedQuantity" column="unqualified_quantity" />
<result property="qualificationRate" column="qualification_rate" />
<result property="purchaseExplain" column="purchase_explain" />
<result property="judgmentResults" column="judgment_results" />
<result property="receiptBatchNumber" column="receipt_batch_number" />
<result property="manufacturerBatchNumber" column="manufacturer_batch_number" />
<result property="standbyOne" column="standby_one" />
<result property="standbyTwo" column="standby_two" />
</resultMap>
<sql id="selectWarehousingInspectionDetailVo">
select warehousing_inspection_detail_id, in_notice_number, material_code, material_name, specification_model, material_type, purchasing_unit, material_quantity, qualified_quantity, unqualified_quantity, qualification_rate, purchase_explain, judgment_results, receipt_batch_number, manufacturer_batch_number, standby_one, standby_two from warehousing_inspection_detail
</sql>
<select id="selectWarehousingInspectionDetailList" parameterType="WarehousingInspectionDetail" resultMap="WarehousingInspectionDetailResult">
<include refid="selectWarehousingInspectionDetailVo"/>
<where>
<if test="inNoticeNumber != null and inNoticeNumber != ''"> and in_notice_number like concat('%', #{inNoticeNumber}, '%')</if>
<if test="materialCode != null and materialCode != ''"> and material_code like concat('%', #{materialCode}, '%')</if>
<if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if>
<if test="materialType != null and materialType != ''"> and material_type = #{materialType}</if>
<if test="judgmentResults != null and judgmentResults != ''"> and judgment_results = #{judgmentResults}</if>
</where>
</select>
<select id="selectWarehousingInspectionDetailById" parameterType="Long" resultMap="WarehousingInspectionDetailResult">
<include refid="selectWarehousingInspectionDetailVo"/>
where warehousing_inspection_detail_id = #{warehousingInspectionDetailId}
</select>
<insert id="insertWarehousingInspectionDetail" parameterType="WarehousingInspectionDetail" useGeneratedKeys="true" keyProperty="warehousingInspectionDetailId">
insert into warehousing_inspection_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="inNoticeNumber != null">in_notice_number,</if>
<if test="materialCode != null">material_code,</if>
<if test="materialName != null">material_name,</if>
<if test="specificationModel != null">specification_model,</if>
<if test="materialType != null">material_type,</if>
<if test="purchasingUnit != null">purchasing_unit,</if>
<if test="materialQuantity != null">material_quantity,</if>
<if test="qualifiedQuantity != null">qualified_quantity,</if>
<if test="unqualifiedQuantity != null">unqualified_quantity,</if>
<if test="qualificationRate != null">qualification_rate,</if>
<if test="purchaseExplain != null">purchase_explain,</if>
<if test="judgmentResults != null">judgment_results,</if>
<if test="receiptBatchNumber != null">receipt_batch_number,</if>
<if test="manufacturerBatchNumber != null">manufacturer_batch_number,</if>
<if test="standbyOne != null">standby_one,</if>
<if test="standbyTwo != null">standby_two,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="inNoticeNumber != null">#{inNoticeNumber},</if>
<if test="materialCode != null">#{materialCode},</if>
<if test="materialName != null">#{materialName},</if>
<if test="specificationModel != null">#{specificationModel},</if>
<if test="materialType != null">#{materialType},</if>
<if test="purchasingUnit != null">#{purchasingUnit},</if>
<if test="materialQuantity != null">#{materialQuantity},</if>
<if test="qualifiedQuantity != null">#{qualifiedQuantity},</if>
<if test="unqualifiedQuantity != null">#{unqualifiedQuantity},</if>
<if test="qualificationRate != null">#{qualificationRate},</if>
<if test="purchaseExplain != null">#{purchaseExplain},</if>
<if test="judgmentResults != null">#{judgmentResults},</if>
<if test="receiptBatchNumber != null">#{receiptBatchNumber},</if>
<if test="manufacturerBatchNumber != null">#{manufacturerBatchNumber},</if>
<if test="standbyOne != null">#{standbyOne},</if>
<if test="standbyTwo != null">#{standbyTwo},</if>
</trim>
</insert>
<update id="updateWarehousingInspectionDetail" parameterType="WarehousingInspectionDetail">
update warehousing_inspection_detail
<trim prefix="SET" suffixOverrides=",">
<if test="inNoticeNumber != null">in_notice_number = #{inNoticeNumber},</if>
<if test="materialCode != null">material_code = #{materialCode},</if>
<if test="materialName != null">material_name = #{materialName},</if>
<if test="specificationModel != null">specification_model = #{specificationModel},</if>
<if test="materialType != null">material_type = #{materialType},</if>
<if test="purchasingUnit != null">purchasing_unit = #{purchasingUnit},</if>
<if test="materialQuantity != null">material_quantity = #{materialQuantity},</if>
<if test="qualifiedQuantity != null">qualified_quantity = #{qualifiedQuantity},</if>
<if test="unqualifiedQuantity != null">unqualified_quantity = #{unqualifiedQuantity},</if>
<if test="qualificationRate != null">qualification_rate = #{qualificationRate},</if>
<if test="purchaseExplain != null">purchase_explain = #{purchaseExplain},</if>
<if test="judgmentResults != null">judgment_results = #{judgmentResults},</if>
<if test="receiptBatchNumber != null">receipt_batch_number = #{receiptBatchNumber},</if>
<if test="manufacturerBatchNumber != null">manufacturer_batch_number = #{manufacturerBatchNumber},</if>
<if test="standbyOne != null">standby_one = #{standbyOne},</if>
<if test="standbyTwo != null">standby_two = #{standbyTwo},</if>
</trim>
where warehousing_inspection_detail_id = #{warehousingInspectionDetailId}
</update>
<delete id="deleteWarehousingInspectionDetailById" parameterType="Long">
delete from warehousing_inspection_detail where warehousing_inspection_detail_id = #{warehousingInspectionDetailId}
</delete>
<delete id="deleteWarehousingInspectionDetailByIds" parameterType="String">
delete from warehousing_inspection_detail where warehousing_inspection_detail_id in
<foreach item="warehousingInspectionDetailId" collection="array" open="(" separator="," close=")">
#{warehousingInspectionDetailId}
</foreach>
</delete>
</mapper>

125
ruoyi-admin/target/classes/mapper/storehouse/WarehousingInspectionNoticeMapper.xml

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.storehouse.mapper.WarehousingInspectionNoticeMapper">
<resultMap type="WarehousingInspectionNotice" id="WarehousingInspectionNoticeResult">
<result property="warehousingInspectionNoticeId" column="warehousing_inspection_notice_id" />
<result property="inNoticeNumber" column="in_notice_number" />
<result property="purchaseOrderNumber" column="purchase_order_number" />
<result property="supplierCode" column="supplier_code" />
<result property="supplierName" column="supplier_name" />
<result property="customerContact" column="customer_contact" />
<result property="stockNumber" column="stock_number" />
<result property="stockName" column="stock_name" />
<result property="stockManager" column="stock_manager" />
<result property="exportSales" column="export_sales" />
<result property="warehousingCategory" column="warehousing_category" />
<result property="inspectionDate" column="inspection_date" />
<result property="warehousingDate" column="warehousing_date" />
<result property="remarks" column="remarks" />
<result property="inspectionReport" column="inspection_report" />
<result property="firstAddTime" column="first_add_time" />
<result property="updateInfoTime" column="update_info_time" />
<result property="standbyOne" column="standby_one" />
<result property="standbyTwo" column="standby_two" />
</resultMap>
<sql id="selectWarehousingInspectionNoticeVo">
select warehousing_inspection_notice_id, in_notice_number, purchase_order_number, supplier_code, supplier_name, customer_contact, stock_number, stock_name, stock_manager, export_sales, warehousing_category, inspection_date, warehousing_date, remarks, inspection_report, first_add_time, update_info_time, standby_one, standby_two from warehousing_inspection_notice
</sql>
<select id="selectWarehousingInspectionNoticeList" parameterType="WarehousingInspectionNotice" resultMap="WarehousingInspectionNoticeResult">
<include refid="selectWarehousingInspectionNoticeVo"/>
<where>
<if test="inNoticeNumber != null and inNoticeNumber != ''"> and in_notice_number like concat('%', #{inNoticeNumber}, '%')</if>
<if test="purchaseOrderNumber != null and purchaseOrderNumber != ''"> and purchase_order_number like concat('%', #{purchaseOrderNumber}, '%')</if>
<if test="supplierCode != null and supplierCode != ''"> and supplier_code like concat('%', #{supplierCode}, '%')</if>
<if test="supplierName != null and supplierName != ''"> and supplier_name like concat('%', #{supplierName}, '%')</if>
<if test="warehousingCategory != null and warehousingCategory != ''"> and warehousing_category = #{warehousingCategory}</if>
<if test="params.beginWarehousingDate != null and params.beginWarehousingDate != '' and params.endWarehousingDate != null and params.endWarehousingDate != ''"> and warehousing_date between #{params.beginWarehousingDate} and #{params.endWarehousingDate}</if>
</where>
</select>
<select id="selectWarehousingInspectionNoticeById" parameterType="Long" resultMap="WarehousingInspectionNoticeResult">
<include refid="selectWarehousingInspectionNoticeVo"/>
where warehousing_inspection_notice_id = #{warehousingInspectionNoticeId}
</select>
<insert id="insertWarehousingInspectionNotice" parameterType="WarehousingInspectionNotice" useGeneratedKeys="true" keyProperty="warehousingInspectionNoticeId">
insert into warehousing_inspection_notice
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="inNoticeNumber != null and inNoticeNumber != ''">in_notice_number,</if>
<if test="purchaseOrderNumber != null">purchase_order_number,</if>
<if test="supplierCode != null">supplier_code,</if>
<if test="supplierName != null">supplier_name,</if>
<if test="customerContact != null">customer_contact,</if>
<if test="stockNumber != null">stock_number,</if>
<if test="stockName != null">stock_name,</if>
<if test="stockManager != null">stock_manager,</if>
<if test="exportSales != null">export_sales,</if>
<if test="warehousingCategory != null">warehousing_category,</if>
<if test="inspectionDate != null">inspection_date,</if>
<if test="warehousingDate != null">warehousing_date,</if>
<if test="remarks != null">remarks,</if>
<if test="inspectionReport != null">inspection_report,</if>
<if test="standbyOne != null">standby_one,</if>
<if test="standbyTwo != null">standby_two,</if>
first_add_time,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="inNoticeNumber != null and inNoticeNumber != ''">#{inNoticeNumber},</if>
<if test="purchaseOrderNumber != null">#{purchaseOrderNumber},</if>
<if test="supplierCode != null">#{supplierCode},</if>
<if test="supplierName != null">#{supplierName},</if>
<if test="customerContact != null">#{customerContact},</if>
<if test="stockNumber != null">#{stockNumber},</if>
<if test="stockName != null">#{stockName},</if>
<if test="stockManager != null">#{stockManager},</if>
<if test="exportSales != null">#{exportSales},</if>
<if test="warehousingCategory != null">#{warehousingCategory},</if>
<if test="inspectionDate != null">#{inspectionDate},</if>
<if test="warehousingDate != null">#{warehousingDate},</if>
<if test="remarks != null">#{remarks},</if>
<if test="inspectionReport != null">#{inspectionReport},</if>
<if test="standbyOne != null">#{standbyOne},</if>
<if test="standbyTwo != null">#{standbyTwo},</if>
now(),
</trim>
</insert>
<update id="updateWarehousingInspectionNotice" parameterType="WarehousingInspectionNotice">
update warehousing_inspection_notice
<trim prefix="SET" suffixOverrides=",">
<if test="inNoticeNumber != null and inNoticeNumber != ''">in_notice_number = #{inNoticeNumber},</if>
<if test="purchaseOrderNumber != null">purchase_order_number = #{purchaseOrderNumber},</if>
<if test="supplierCode != null">supplier_code = #{supplierCode},</if>
<if test="supplierName != null">supplier_name = #{supplierName},</if>
<if test="customerContact != null">customer_contact = #{customerContact},</if>
<if test="stockNumber != null">stock_number = #{stockNumber},</if>
<if test="stockName != null">stock_name = #{stockName},</if>
<if test="stockManager != null">stock_manager = #{stockManager},</if>
<if test="exportSales != null">export_sales = #{exportSales},</if>
<if test="warehousingCategory != null">warehousing_category = #{warehousingCategory},</if>
<if test="inspectionDate != null">inspection_date = #{inspectionDate},</if>
<if test="warehousingDate != null">warehousing_date = #{warehousingDate},</if>
<if test="remarks != null">remarks = #{remarks},</if>
<if test="inspectionReport != null">inspection_report = #{inspectionReport},</if>
update_info_time = CONCAT_WS(',',NOW(),update_info_time),
</trim>
where warehousing_inspection_notice_id = #{warehousingInspectionNoticeId}
</update>
<delete id="deleteWarehousingInspectionNoticeById" parameterType="Long">
delete from warehousing_inspection_notice where warehousing_inspection_notice_id = #{warehousingInspectionNoticeId}
</delete>
<delete id="deleteWarehousingInspectionNoticeByIds" parameterType="String">
delete from warehousing_inspection_notice where warehousing_inspection_notice_id in
<foreach item="warehousingInspectionNoticeId" collection="array" open="(" separator="," close=")">
#{warehousingInspectionNoticeId}
</foreach>
</delete>
</mapper>

127
ruoyi-admin/target/classes/mapper/system/SysBomBcpMapper.xml

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.SysBomBcpMapper">
<resultMap type="SysBomBcp" id="SysBomBcpResult">
<result property="bomBcpId" column="bom_bcp_id" />
<result property="finishProductCode" column="finish_product_code" />
<result property="versionNumber" column="version_number" />
<result property="bcpCode" column="bcp_code" />
<result property="bcpName" column="bcp_name" />
<result property="bcpVersionNumber" column="bcp_version_number" />
<result property="specificationModel" column="specification_model" />
<result property="inventoryUnit" column="inventory_unit" />
<result property="bcpMaterialConsumption" column="bcp_material_consumption" />
<result property="bcpMaterialLoss" column="bcp_material_loss" />
<result property="customerNumber" column="customer_number" />
<result property="finishedProductQuantity" column="finished_product_quantity" />
<result property="remarks" column="remarks" />
<result property="processingCategory" column="processing_category" />
<result property="standbyOne" column="standby_one" />
<result property="standbyTwo" column="standby_two" />
</resultMap>
<sql id="selectSysBomBcpVo">
select bom_bcp_id, finish_product_code, version_number, bcp_code, bcp_name, bcp_version_number,
specification_model, inventory_unit, bcp_material_consumption, bcp_material_loss, customer_number,
finished_product_quantity, remarks, processing_category, standby_one, standby_two from sys_bom_bcp
</sql>
<select id="selectSysBomBcpList" parameterType="SysBomBcp" resultMap="SysBomBcpResult">
<include refid="selectSysBomBcpVo"/>
<where>
<if test="finishProductCode != null and finishProductCode != ''"> and finish_product_code like concat('%', #{finishProductCode}, '%')</if>
<if test="versionNumber != null and versionNumber != ''"> and version_number like concat('%', #{versionNumber}, '%')</if>
<if test="bcpCode != null and bcpCode != ''"> and bcp_code like concat('%', #{bcpCode}, '%')</if>
<if test="bcpName != null and bcpName != ''"> and bcp_name like concat('%', #{bcpName}, '%')</if>
<if test="bcpVersionNumber != null and bcpVersionNumber != ''"> and bcp_version_number like concat('%', #{bcpVersionNumber}, '%')</if>
<if test="specificationModel != null and specificationModel != ''"> and specification_model = #{specificationModel}</if>
<if test="inventoryUnit != null and inventoryUnit != ''"> and inventory_unit = #{inventoryUnit}</if>
<if test="bcpMaterialConsumption != null and bcpMaterialConsumption != ''"> and bcp_material_consumption = #{bcpMaterialConsumption}</if>
<if test="bcpMaterialLoss != null and bcpMaterialLoss != ''"> and bcp_material_loss = #{bcpMaterialLoss}</if>
<if test="customerNumber != null and customerNumber != ''"> and customer_number = #{customerNumber}</if>
<if test="finishedProductQuantity != null and finishedProductQuantity != ''"> and finished_product_quantity = #{finishedProductQuantity}</if>
<if test="remarks != null and remarks != ''"> and remarks = #{remarks}</if>
<if test="processingCategory != null and processingCategory != ''"> and processing_category = #{processingCategory}</if>
</where>
</select>
<select id="selectSysBomBcpById" parameterType="Long" resultMap="SysBomBcpResult">
<include refid="selectSysBomBcpVo"/>
where bom_bcp_id = #{bomBcpId}
</select>
<insert id="insertSysBomBcp" parameterType="SysBomBcp" useGeneratedKeys="true" keyProperty="bomBcpId">
insert into sys_bom_bcp
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="finishProductCode != null">finish_product_code,</if>
<if test="versionNumber != null">version_number,</if>
<if test="bcpCode != null">bcp_code,</if>
<if test="bcpName != null">bcp_name,</if>
<if test="bcpVersionNumber != null">bcp_version_number,</if>
<if test="specificationModel != null">specification_model,</if>
<if test="inventoryUnit != null">inventory_unit,</if>
<if test="bcpMaterialConsumption != null">bcp_material_consumption,</if>
<if test="bcpMaterialLoss != null">bcp_material_loss,</if>
<if test="customerNumber != null">customer_number,</if>
<if test="finishedProductQuantity != null">finished_product_quantity,</if>
<if test="remarks != null">remarks,</if>
<if test="processingCategory != null">processing_category,</if>
<if test="standbyOne != null">standby_one,</if>
<if test="standbyTwo != null">standby_two,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="finishProductCode != null">#{finishProductCode},</if>
<if test="versionNumber != null">#{versionNumber},</if>
<if test="bcpCode != null">#{bcpCode},</if>
<if test="bcpName != null">#{bcpName},</if>
<if test="bcpVersionNumber != null">#{bcpVersionNumber},</if>
<if test="specificationModel != null">#{specificationModel},</if>
<if test="inventoryUnit != null">#{inventoryUnit},</if>
<if test="bcpMaterialConsumption != null">#{bcpMaterialConsumption},</if>
<if test="bcpMaterialLoss != null">#{bcpMaterialLoss},</if>
<if test="customerNumber != null">#{customerNumber},</if>
<if test="finishedProductQuantity != null">#{finishedProductQuantity},</if>
<if test="remarks != null">#{remarks},</if>
<if test="processingCategory != null">#{processingCategory},</if>
<if test="standbyOne != null">#{standbyOne},</if>
<if test="standbyTwo != null">#{standbyTwo},</if>
</trim>
</insert>
<update id="updateSysBomBcp" parameterType="SysBomBcp">
update sys_bom_bcp
<trim prefix="SET" suffixOverrides=",">
<if test="finishProductCode != null">finish_product_code = #{finishProductCode},</if>
<if test="versionNumber != null">version_number = #{versionNumber},</if>
<if test="bcpCode != null">bcp_code = #{bcpCode},</if>
<if test="bcpName != null">bcp_name = #{bcpName},</if>
<if test="bcpVersionNumber != null">bcp_version_number = #{bcpVersionNumber},</if>
<if test="specificationModel != null">specification_model = #{specificationModel},</if>
<if test="inventoryUnit != null">inventory_unit = #{inventoryUnit},</if>
<if test="bcpMaterialConsumption != null">bcp_material_consumption = #{bcpMaterialConsumption},</if>
<if test="bcpMaterialLoss != null">bcp_material_loss = #{bcpMaterialLoss},</if>
<if test="customerNumber != null">customer_number = #{customerNumber},</if>
<if test="finishedProductQuantity != null">finished_product_quantity = #{finishedProductQuantity},</if>
<if test="remarks != null">remarks = #{remarks},</if>
<if test="processingCategory != null">processing_category = #{processingCategory},</if>
<if test="standbyOne != null">standby_one = #{standbyOne},</if>
<if test="standbyTwo != null">standby_two = #{standbyTwo},</if>
</trim>
where bom_bcp_id = #{bomBcpId}
</update>
<delete id="deleteSysBomBcpById" parameterType="Long">
delete from sys_bom_bcp where bom_bcp_id = #{bomBcpId}
</delete>
<delete id="deleteSysBomBcpByIds" parameterType="String">
delete from sys_bom_bcp where bom_bcp_id in
<foreach item="bomBcpId" collection="array" open="(" separator="," close=")">
#{bomBcpId}
</foreach>
</delete>
</mapper>

127
ruoyi-admin/target/classes/templates/manufacture/deliveryGoodsDetail/add.html

@ -0,0 +1,127 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增发货通知单详情')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-deliveryGoodsDetail-add">
<div class="form-group">
<label class="col-sm-3 control-label">通知单号:</label>
<div class="col-sm-8">
<input name="noticeOrderNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">订单号码:</label>
<div class="col-sm-8">
<input name="salesOrderNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户代码:</label>
<div class="col-sm-8">
<input name="enterpriseCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="enterpriseName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">成品代码:</label>
<div class="col-sm-8">
<input name="finishProductCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">成品名称:</label>
<div class="col-sm-8">
<input name="finishProductName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">规格型号:</label>
<div class="col-sm-8">
<input name="specificationModel" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户料号:</label>
<div class="col-sm-8">
<input name="customerNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">机种:</label>
<div class="col-sm-8">
<input name="typeMachine" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<input name="inventoryUnit" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">币别:</label>
<div class="col-sm-8">
<input name="commonCurrency" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单价:</label>
<div class="col-sm-8">
<input name="processPrice" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">数量:</label>
<div class="col-sm-8">
<input name="productQuantity" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">金额:</label>
<div class="col-sm-8">
<input name="amountMoney" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Line#:</label>
<div class="col-sm-8">
<input name="line" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">版本号:</label>
<div class="col-sm-8">
<input name="versionNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">说明:</label>
<div class="col-sm-8">
<input name="salesExplain" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "manufacture/deliveryGoodsDetail"
$("#form-deliveryGoodsDetail-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-deliveryGoodsDetail-add').serialize());
}
}
</script>
</body>
</html>

170
ruoyi-admin/target/classes/templates/manufacture/deliveryGoodsDetail/deliveryGoodsDetail.html

@ -0,0 +1,170 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('发货通知单详情列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>通知单号:</label>
<input type="text" name="noticeOrderNumber"/>
</li>
<li>
<label>订单号码:</label>
<input type="text" name="salesOrderNumber"/>
</li>
<li>
<label>客户代码:</label>
<input type="text" name="enterpriseCode"/>
</li>
<li>
<label>客户名称:</label>
<input type="text" name="enterpriseName"/>
</li>
<li>
<label>成品代码:</label>
<input type="text" name="finishProductCode"/>
</li>
<li>
<label>成品名称:</label>
<input type="text" name="finishProductName"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="manufacture:deliveryGoodsDetail:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="manufacture:deliveryGoodsDetail:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="manufacture:deliveryGoodsDetail:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="manufacture:deliveryGoodsDetail:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('manufacture:deliveryGoodsDetail:edit')}]];
var removeFlag = [[${@permission.hasPermi('manufacture:deliveryGoodsDetail:remove')}]];
var prefix = ctx + "manufacture/deliveryGoodsDetail";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "发货通知单详情",
columns: [{
checkbox: true
},
{
field: 'deliveryGoodsDetailId',
title: '发货通知单详情id',
visible: false
},
{
field: 'noticeOrderNumber',
title: '通知单号'
},
{
field: 'salesOrderNumber',
title: '订单号码'
},
{
field: 'enterpriseCode',
title: '客户代码'
},
{
field: 'enterpriseName',
title: '客户名称'
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'customerNumber',
title: '客户料号'
},
{
field: 'typeMachine',
title: '机种'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'commonCurrency',
title: '币别'
},
{
field: 'processPrice',
title: '单价'
},
{
field: 'productQuantity',
title: '数量'
},
{
field: 'amountMoney',
title: '金额'
},
{
field: 'line',
title: 'Line#'
},
{
field: 'versionNumber',
title: '版本号'
},
{
field: 'salesExplain',
title: '说明'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.deliveryGoodsDetailId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.deliveryGoodsDetailId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

128
ruoyi-admin/target/classes/templates/manufacture/deliveryGoodsDetail/edit.html

@ -0,0 +1,128 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改发货通知单详情')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-deliveryGoodsDetail-edit" th:object="${deliveryGoodsDetail}">
<input name="deliveryGoodsDetailId" th:field="*{deliveryGoodsDetailId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">通知单号:</label>
<div class="col-sm-8">
<input name="noticeOrderNumber" th:field="*{noticeOrderNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">订单号码:</label>
<div class="col-sm-8">
<input name="salesOrderNumber" th:field="*{salesOrderNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户代码:</label>
<div class="col-sm-8">
<input name="enterpriseCode" th:field="*{enterpriseCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="enterpriseName" th:field="*{enterpriseName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">成品代码:</label>
<div class="col-sm-8">
<input name="finishProductCode" th:field="*{finishProductCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">成品名称:</label>
<div class="col-sm-8">
<input name="finishProductName" th:field="*{finishProductName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">规格型号:</label>
<div class="col-sm-8">
<input name="specificationModel" th:field="*{specificationModel}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户料号:</label>
<div class="col-sm-8">
<input name="customerNumber" th:field="*{customerNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">机种:</label>
<div class="col-sm-8">
<input name="typeMachine" th:field="*{typeMachine}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<input name="inventoryUnit" th:field="*{inventoryUnit}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">币别:</label>
<div class="col-sm-8">
<input name="commonCurrency" th:field="*{commonCurrency}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单价:</label>
<div class="col-sm-8">
<input name="processPrice" th:field="*{processPrice}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">数量:</label>
<div class="col-sm-8">
<input name="productQuantity" th:field="*{productQuantity}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">金额:</label>
<div class="col-sm-8">
<input name="amountMoney" th:field="*{amountMoney}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Line#:</label>
<div class="col-sm-8">
<input name="line" th:field="*{line}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">版本号:</label>
<div class="col-sm-8">
<input name="versionNumber" th:field="*{versionNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">说明:</label>
<div class="col-sm-8">
<input name="salesExplain" th:field="*{salesExplain}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "manufacture/deliveryGoodsDetail";
$("#form-deliveryGoodsDetail-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-deliveryGoodsDetail-edit').serialize());
}
}
</script>
</body>
</html>

642
ruoyi-admin/target/classes/templates/manufacture/deliveryGoodsNotice/add.html

@ -0,0 +1,642 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增发货通知单')" />
<th:block th:include="include :: datetimepicker-css"/>
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet">
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet">
<th:block th:include="include :: bootstrap-editable-css"/>
<style>
.other-container {
width: 90%;
height: 200px;
margin: auto;
}
.other {
margin-top: 20px;
}
h4 {
display: inline-block;
margin-right: 20px;
}
.modal-body{
height: 550px;
}
iframe{
width: 100%;
height: 500px;
frameborder: 0;
border: 0;
display: inline-block;
}
</style>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-deliveryGoodsNotice-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">通知单号:</label>
<div class="col-sm-8">
<input name="noticeOrderNumber" class="form-control" type="text" required readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发货日期:</label>
<div class="col-sm-8">
<!-- <input name="deliveryDate" class="form-control" type="text">-->
<div class="input-group date">
<input name="deliveryDate" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户代码:</label>
<div class="col-sm-8">
<!-- <input name="enterpriseCode" class="form-control" type="text" required>-->
<select name="enterpriseCode" class="form-control m-b" required>
<option value="">请选择客户代码</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户名称:</label>
<div class="col-sm-8">
<input name="enterpriseName" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">联系人:</label>
<div class="col-sm-8">
<input name="customerContact" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户厂区:</label>
<div class="col-sm-8">
<input name="customerFactory" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">送货地址:</label>
<div class="col-sm-8">
<input name="deliveryAddress" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">内外销:</label>
<div class="col-sm-8">
<select name="exportSales" class="form-control m-b" th:with="type=${@dict.getType('sys_export_sales')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库名称:</label>
<div class="col-sm-8">
<select name="stockName" class="form-control m-b">
<option value="">请选择仓库名称</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库编号:</label>
<div class="col-sm-8">
<input name="stockNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remarks" class="form-control" type="text"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">制单人:</label>
<div class="col-sm-8">
<!-- <input name="voucherPreparation" class="form-control" type="text">-->
<select name="voucherPreparation" class="form-control m-b">
<option value="">请选择制单人</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发货否:</label>
<div class="col-sm-8">
<select name="deliveryGoodsFlag" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<!--<div class="form-group">
<label class="col-sm-3 control-label">备用一:</label>
<div class="col-sm-8">
<input name="standbyOne" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备用二:</label>
<div class="col-sm-8">
<input name="standbyTwo" class="form-control" type="text">
</div>
</div>-->
</form>
</div>
<div class="other-container">
<div class="other">
<br><hr>
<h4>订单信息</h4>
<a class="btn btn-primary" onclick="showOrderDetailModal()"><i class="fa fa-plus"></i>&nbsp;订单信息</a>
<div class="col-sm-12 select-table table-striped">
<table id="addSalesFinishTable" style="white-space:nowrap"></table>
</div>
</div>
<div class="modal inmodal" id="salesFinishModal"
role="dilog" aria-hidden="true">
<!-- 查询订单成品资料-->
<div class="modal-dialog" style="width: 1000px;background-color: #FFFFFF">
<div class="modal-content" style="background-color: #FFFFFF">
<div class="modal-body">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="salesFinishFormId">
<div class="select-list">
<ul>
<li>
<label>订单号码:</label>
<input type="text" name="salesOrderNumber"/>
</li>
<li>
<label>成品代码:</label>
<input type="text" name="finishProductCode"/>
</li>
<li>
<label>成品名称:</label>
<input type="text" name="finishProductName"/>
</li>
<li>
<label>客户代码:</label>
<input type="text" name="enterpriseCode"/>
</li>
<li>
<label>客户名称:</label>
<input type="text" name="enterpriseName"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search('salesFinishFormId','salesFinishTable')"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('salesFinishFormId','salesFinishTable')"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="salesFinishTable" style="white-space:nowrap"></table>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<a class="btn btn-warning btn-rounded" onclick="addSalesFinishToTable()">确认添加</a>
<a class="btn btn-primary btn-rounded" onclick="closeSalesFinishModal()">关闭</a>
</div>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js"/>
<th:block th:include="include :: select2-js"/>
<th:block th:include="include :: bootstrap-table-editable-js"/>
<script th:inline="javascript">
var prefix = ctx + "manufacture/deliveryGoodsNotice"
var prefixDetail = ctx + "manufacture/deliveryGoodsDetail"
var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]];
$("#form-deliveryGoodsNotice-add").validate({
focusCleanup: true
});
function submitHandler() {
var getData = $("#addSalesFinishTable").bootstrapTable("getData");
if(getData.length > 0){
if ($.validate.form()) {
//确认添加选中的物料数据
confirmSalesFinish();
$.operate.save(prefix + "/add", $('#form-deliveryGoodsNotice-add').serialize());
}
} else {
$.modal.alertWarning("未选择订单,请选择!")
}
}
$("input[name='deliveryDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true,
todayBtn: true
});
$("input[name='deliveryDate']").datetimepicker("setDate", new Date())
//获取单号
$.ajax({
url: prefix + "/id",
type: "post",
dateType: "json",
success: function (resp) {
if (resp.code === 0) {
$("input[name='noticeOrderNumber']").val(resp.data);
} else {
$.modal.msgError("失败啦");
}
},
error: function () {
$.modal.msgError("后台出错啦!");
}
});
//获取仓库信息
$.ajax({
url: ctx + "stock/stockInfo/list",
type: "post",
success: function (res) {
// console.log(res)
if (res.rows.length > 0) {
let stockData = res.rows;
for (let i in stockData) {
// console.log(finishProductData[i].finishProductCode)
$("#form-deliveryGoodsNotice-add select[name='stockName']").append("<option value='" + stockData[i].stockname + "'>" + stockData[i].stockname + "</option>");
$("#form-deliveryGoodsNotice-add select[name='stockName']").change(function () {
var stockName = $(this).val();
for (let i=0;i<stockData.length;i++) {
if (stockData[i].stockname == stockName) {
$("#form-deliveryGoodsNotice-add input[name='stockNumber']").val(stockData[i].stockNO);
}
}
})
}
}
}
})
//获取客户信息
$.ajax({
url: ctx + 'system/customer/list',
type: "post",
success: function (res) {
// console.log(res)
if (res.rows.length > 0) {
let customerData = res.rows;
for (let i in customerData) {
// console.log(finishProductData[i].finishProductCode)
$("#form-deliveryGoodsNotice-add select[name='enterpriseCode']").append("<option value='" + customerData[i].enterpriseCode + "'>" + customerData[i].enterpriseCode + "</option>");
$("#form-deliveryGoodsNotice-add select[name='enterpriseCode']").change(function () {
var enterpriseCode = $(this).val();
for (let i=0;i<customerData.length;i++) {
if (customerData[i].enterpriseCode == enterpriseCode) {
$("#form-deliveryGoodsNotice-add input[name='enterpriseName']").val(customerData[i].enterpriseName);
$("#form-deliveryGoodsNotice-add input[name='customerContact']").val(customerData[i].customerContact);
$("#form-deliveryGoodsNotice-add input[name='deliveryAddress']").val(customerData[i].deliveryAddress);
$("#form-deliveryGoodsNotice-add select[name='exportSales']").val(customerData[i].exportSales).trigger("change");
}
}
})
}
}
}
})
//获取制单人
$.ajax({
url: ctx + "system/user/list",
type: "post",
success: function (res) {
// console.log(res)
if (res.rows.length > 0) {
let userData = res.rows;
for (let i in userData) {
// console.log(finishProductData[i].finishProductCode)
$("#form-deliveryGoodsNotice-add select[name='voucherPreparation']").append("<option value='" + userData[i].userName + "'>" + userData[i].userName + "</option>");
}
}
}
})
//初始化添加材料表
$('#addSalesFinishTable').bootstrapTable({
pagination: true,
pageNumber: 1,
pageSize: 10,
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
cardView: false, // 是否显示详细视图
detailView: false, // 是否显示父子表
smartDisplay: false, // 加了这个才显示每页显示的行数
showExport: false, // 是否显示导出按钮
clickToSelect: true,//点击行选中
paginationDetailHAlign: ' hiddenDetailInfo',
height: 250,
uniqueId: 'finishProductCode',
queryParams: function (params) {
//console.log("123");
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
// enterpriseCode: data[0].enterpriseCode
};
// console.log(data[0].enterpriseCode)
return curParams
},
columns: [
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="removeSalesFinish(\'' + row.finishProductCode + '\')" ><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
},
{
field: 'deliveryGoodsDetailId',
title: '发货通知单详情id',
visible: false
},
{
field: 'noticeOrderNumber',
title: '通知单号',
visible: false
},
{
field: 'salesOrderNumber',
title: '订单号码'
},
{
field: 'enterpriseCode',
title: '客户代码'
},
{
field: 'enterpriseName',
title: '客户名称'
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'customerNumber',
title: '客户料号'
},
{
field: 'typeMachine',
title: '机种'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'commonCurrency',
title: '币别',
formatter: function (value, row, index) {
return $.table.selectDictLabel(commonCurrencyDatas, value);
}
},
{
field: 'processPrice',
title: '单价'
},
{
field: 'productQuantity',
title: '数量'
},
{
field: 'amountMoney',
title: '金额'
},
{
field: 'line',
title: 'Line#'
},
{
field: 'versionNumber',
title: '版本号'
},
{
field: 'salesExplain',
title: '说明'
}]
})
//选择订单
function showOrderDetailModal() {
if ($.validate.form()) {
$("#salesFinishModal").modal("show");
// var enterpriseCode = $("#form-deliveryGoodsNotice-add select[name='enterpriseCode']").val()
// var enterpriseName = $("#form-deliveryGoodsNotice-add input[name='enterpriseName']").val()
var options = {
id: 'salesFinishTable',
url: ctx + "system/salesFinish/list",
modalName: "销售产品",
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
cardView: false, // 是否显示详细视图
detailView: false, // 是否显示父子表
smartDisplay: false, // 加了这个才显示每页显示的行数
showExport: false, // 是否显示导出按钮
clickToSelect: true,//点击行选中
queryParams: function (params) {
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1
};
let json = $.extend(curParams, $.common.formToJSON("salesFinishFormId"));
return json;
},
columns: [{
checkbox: true
},
{
field: 'salesFinishId',
title: '订单id',
visible: false
},
{
field: 'salesOrderCode',
title: '订单编号'
},
{
field: 'salesOrderNumber',
title: '订单号码'
},
{
field: 'enterpriseCode',
title: '客户代码'
},
{
field: 'enterpriseName',
title: '客户名称'
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'customerNumber',
title: '客户料号'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'typeMachine',
title: '机种'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'stockUnitWeight',
title: '重量'
},
{
field: 'commonCurrency',
title: '币别',
formatter: function (value, row, index) {
return $.table.selectDictLabel(commonCurrencyDatas, value);
}
},
{
field: 'processPrice',
title: '单价'
},
{
field: 'productQuantity',
title: '数量'
},
{
field: 'amountMoney',
title: '金额'
},
{
field: 'deliveryTime',
title: '交期'
},
{
field: 'line',
title: 'Line#'
},
{
field: 'versionNumber',
title: '版本号'
},
{
field: 'salesExplain',
title: '说明'
}]
};
$.table.init(options);
} else {
$.modal.alertWarning("请先填写必填项!")
}
}
//关闭订单框
function closeSalesFinishModal() {
$("#salesFinishModal").modal("hide");
}
//表中添加选中的订单信息
function addSalesFinishToTable() {
var data = $("#salesFinishTable").bootstrapTable("getSelections");
var count = $('#addSalesFinishTable').bootstrapTable('getData').length;
var noticeOrderNumber = $("input[name='noticeOrderNumber']").val();
// console.log(materialType)
for (i = 0; i < data.length; i++) {
let finishProduct = $('#addSalesFinishTable').bootstrapTable('getRowByUniqueId', data[i].finishProductCode);
if (finishProduct != null) {
alert(finishProduct.finishProductName + "已存在,不可重复添加!");
continue;
}
$("#addSalesFinishTable").bootstrapTable('insertRow', {
index: count + i,
row: {
noticeOrderNumber: noticeOrderNumber,
salesOrderNumber: data[i].salesOrderNumber,
enterpriseCode: data[i].enterpriseCode,
enterpriseName: data[i].enterpriseName,
finishProductCode: data[i].finishProductCode,
finishProductName: data[i].finishProductName,
specificationModel: data[i].specificationModel,
customerNumber: data[i].customerNumber,
typeMachine: data[i].typeMachine,
inventoryUnit: data[i].inventoryUnit,
commonCurrency: data[i].commonCurrency,
processPrice: data[i].processPrice,
productQuantity: data[i].productQuantity,
amountMoney: data[i].amountMoney,
line: data[i].line,
versionNumber: data[i].versionNumber,
salesExplain: data[i].salesExplain
}
});
}
$("#salesFinishTable").bootstrapTable("uncheckAll");
closeSalesFinishModal();
}
//确认材料信息
function confirmSalesFinish() {
var data = $("#addSalesFinishTable").bootstrapTable("getData");
// console.log(data)
$.ajax({
url: prefixDetail + '/addEditSave',
type: "POST",
data: {
data: JSON.stringify(data)
},
dataType: "json",
success: function (resp) {
// console.log(data)
console.log(resp)
},
})
}
//删除表内材料信息
function removeSalesFinish(finishProductCode) {
var ids = [];
ids.push(finishProductCode);
$('#addSalesFinishTable').bootstrapTable("remove",{
field:'finishProductCode',
values:ids
})
$("#addSalesFinishTable").bootstrapTable('refresh');
}
</script>
</body>
</html>

285
ruoyi-admin/target/classes/templates/manufacture/deliveryGoodsNotice/deliveryGoodsNotice.html

@ -0,0 +1,285 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('发货通知单列表')" />
<th:block th:include="include :: datetimepicker-css"/>
<script type="text/javascript" th:src="@{/js/axios.min.js}"></script>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>通知单号:</label>
<input type="text" name="noticeOrderNumber"/>
</li>
<li>
<label>发货日期:</label>
<input type="text" name="deliveryDate"/>
</li>
<li>
<label>客户代码:</label>
<input type="text" name="enterpriseCode"/>
</li>
<li>
<label>客户名称:</label>
<input type="text" name="enterpriseName"/>
</li>
<li>
<label>内外销:</label>
<select name="exportSales" th:with="type=${@dict.getType('sys_export_sales')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>发货否:</label>
<select name="deliveryGoodsFlag" th:with="type=${@dict.getType('sys_whether')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="manufacture:deliveryGoodsNotice:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="manufacture:deliveryGoodsNotice:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger single disabled" onclick="removeNotice()" shiro:hasPermission="manufacture:deliveryGoodsNotice:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning single disabled" onclick="exportNotice()" shiro:hasPermission="manufacture:deliveryGoodsNotice:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('manufacture:deliveryGoodsNotice:edit')}]];
var removeFlag = [[${@permission.hasPermi('manufacture:deliveryGoodsNotice:remove')}]];
var exportSalesDatas = [[${@dict.getType('sys_export_sales')}]];
var deliveryGoodsFlagDatas = [[${@dict.getType('sys_whether')}]];
var prefix = ctx + "manufacture/deliveryGoodsNotice";
var prefixDetail = ctx + "manufacture/deliveryGoodsDetail";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
clickToSelect: true,
modalName: "发货通知单",
columns: [{
checkbox: true
},
{
field: 'deliveryGoodsNoticeId',
title: '发货通知单id',
visible: false
},
{
field: 'noticeOrderNumber',
title: '通知单号'
},
{
field: 'deliveryDate',
title: '发货日期'
},
{
field: 'enterpriseCode',
title: '客户代码'
},
{
field: 'enterpriseName',
title: '客户名称'
},
{
field: 'customerContact',
title: '联系人'
},
{
field: 'customerFactory',
title: '客户厂区'
},
{
field: 'deliveryAddress',
title: '送货地址'
},
{
field: 'exportSales',
title: '内外销',
formatter: function(value, row, index) {
return $.table.selectDictLabel(exportSalesDatas, value);
}
},
{
field: 'stockNumber',
title: '仓库编号'
},
{
field: 'stockName',
title: '仓库名称'
},
{
field: 'remarks',
title: '备注'
},
{
field: 'voucherPreparation',
title: '制单人'
},
{
field: 'deliveryGoodsFlag',
title: '发货否',
formatter: function(value, row, index) {
return $.table.selectDictLabel(deliveryGoodsFlagDatas, value);
}
},
{
field: 'firstAddTime',
title: '录入时间',
formatter: function (value, row, index) {
if (value == null) {
return " ";
} else {
return value;
}
}
},
{
field: 'updateInfoTime',
title: '上次修改时间',
formatter: function (value, row, index) {
if (value == null) {
return " ";
} else {
var vArr = value.split(',')
return vArr[0];
}
}
}]
};
$.table.init(options);
});
//删除
function removeNotice() {
var noticeData = $("#bootstrap-table").bootstrapTable("getSelections");
if (noticeData.length === 1) {
// console.log(orderData)
$.ajax({
url: prefixDetail + '/list',
type: 'post',
data: {
deliveryGoodsNoticeId: noticeData[0].deliveryGoodsNoticeId
},
success: function (res) {
console.log(res)
if (res.rows.length > 0) {
$.modal.confirm("该订单内含有"+ res.rows.length+ "条订单数据将一并删除,是否删除?", function () {
$.ajax({
url: prefix + '/removeSelectedOrder',
type: 'post',
data: {
noticeData: JSON.stringify(noticeData)
},
success: function (res) {
// console.log(res)
$("#bootstrap-table").bootstrapTable("refresh");
$.modal.msgSuccess("删除成功!")
},
error: function (res) {
$.modal.msgError(res.error())
}
})
})
} else if (res.rows.length === 0) {
$.modal.confirm("确认删除该订单吗?", function () {
$.ajax({
url: prefix + '/remove',
type: 'post',
data: {
ids : noticeData[0].workOrderId
},
success: function (res) {
// console.log(res)
$("#bootstrap-table").bootstrapTable("refresh");
$.modal.msgSuccess("删除成功!")
},
error: function (res) {
$.modal.msgError(res.error())
}
})
})
}
}
})
} else {
$.modal.msgWarning("请选择一条数据")
}
}
//导出
function exportNotice() {
var rows = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
var data = $("#bootstrap-table").bootstrapTable("getSelections")
if (rows.length !== 1) {
$.modal.alert("请选择一条记录");
return;
} else {
// rows为选中行的id
// console.log(rows);
// console.log(data);
// console.log(data[0].orderNumber)
$.modal.confirm("是否确认要导出本条制工单?", function (){
axios({
url: prefix + '/exportSelected/'+data[0].deliveryGoodsNoticeId,
method: 'POST',
responseType: 'blob'
}).then(response => {
// console.log(response)
const URL = window.URL.createObjectURL(response.data)
// 创建隐藏<a>标签进行下载
const tempLink = document.createElement('a')
tempLink.style.display = 'none'
tempLink.href = URL
let time = new Date().toLocaleString()
tempLink.setAttribute('download', time + "发货通知单.xlsx")
if (typeof tempLink.download === 'undefined') {
tempLink.setAttribute('target', '_blank')
}
document.body.appendChild(tempLink)
tempLink.click()
document.body.removeChild(tempLink)// 移除dom元素
window.URL.revokeObjectURL(URL)//释放内存
})
});
}
}
</script>
</body>
</html>

652
ruoyi-admin/target/classes/templates/manufacture/deliveryGoodsNotice/edit.html

@ -0,0 +1,652 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改发货通知单')" />
<th:block th:include="include :: datetimepicker-css"/>
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet">
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet">
<th:block th:include="include :: bootstrap-editable-css"/>
<style>
.other-container {
width: 90%;
height: 200px;
margin: auto;
}
.other {
margin-top: 20px;
}
h4 {
display: inline-block;
margin-right: 20px;
}
.modal-body{
height: 550px;
}
iframe{
width: 100%;
height: 500px;
frameborder: 0;
border: 0;
display: inline-block;
}
</style>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-deliveryGoodsNotice-edit" th:object="${deliveryGoodsNotice}">
<input name="deliveryGoodsNoticeId" th:field="*{deliveryGoodsNoticeId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label is-required">通知单号:</label>
<div class="col-sm-8">
<input name="noticeOrderNumber" th:field="*{noticeOrderNumber}" class="form-control" type="text" required readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发货日期:</label>
<div class="col-sm-8">
<!-- <input name="deliveryDate" th:field="*{deliveryDate}" class="form-control" type="text">-->
<div class="input-group date">
<input name="deliveryDate" class="form-control" th:field="*{deliveryDate}" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户代码:</label>
<div class="col-sm-8">
<!-- <input name="enterpriseCode" th:field="*{enterpriseCode}" class="form-control" type="text" required>-->
<select name="enterpriseCode" th:field="*{enterpriseCode}" class="form-control m-b" required>
<option value="">请选择客户代码</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户名称:</label>
<div class="col-sm-8">
<input name="enterpriseName" th:field="*{enterpriseName}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">联系人:</label>
<div class="col-sm-8">
<input name="customerContact" th:field="*{customerContact}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户厂区:</label>
<div class="col-sm-8">
<input name="customerFactory" th:field="*{customerFactory}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">送货地址:</label>
<div class="col-sm-8">
<input name="deliveryAddress" th:field="*{deliveryAddress}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">内外销:</label>
<div class="col-sm-8">
<select name="exportSales" class="form-control m-b" th:with="type=${@dict.getType('sys_export_sales')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{exportSales}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库名称:</label>
<div class="col-sm-8">
<!-- <input name="stockName" th:field="*{stockName}" class="form-control" type="text">-->
<select name="stockName" class="form-control m-b" th:field="*{stockName}">
<option value="">请选择仓库名称</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库编号:</label>
<div class="col-sm-8">
<input name="stockNumber" th:field="*{stockNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<input name="remarks" th:field="*{remarks}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">制单人:</label>
<div class="col-sm-8">
<!-- <input name="voucherPreparation" th:field="*{voucherPreparation}" class="form-control" type="text">-->
<select name="voucherPreparation" class="form-control m-b" th:field="*{voucherPreparation}">
<option value="">请选择制单人</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">发货否:</label>
<div class="col-sm-8">
<select name="deliveryGoodsFlag" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{deliveryGoodsFlag}"></option>
</select>
</div>
</div>
<!-- <div class="form-group">
<label class="col-sm-3 control-label">备用一:</label>
<div class="col-sm-8">
<input name="standbyOne" th:field="*{standbyOne}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备用二:</label>
<div class="col-sm-8">
<input name="standbyTwo" th:field="*{standbyTwo}" class="form-control" type="text">
</div>
</div>-->
</form>
</div>
<div class="other-container">
<div class="other">
<br><hr>
<h4>订单信息</h4>
<a class="btn btn-primary" onclick="showOrderDetailModal()"><i class="fa fa-plus"></i>&nbsp;订单信息</a>
<a class="btn btn-danger" onclick="removeOrderDetail()"><i class="fa fa-plus"></i>&nbsp;删除订单</a>
<div class="col-sm-12 select-table table-striped">
<table id="addSalesFinishTable" style="white-space:nowrap"></table>
</div>
</div>
<div class="modal inmodal" id="salesFinishModal"
role="dilog" aria-hidden="true">
<!-- 查询订单成品资料-->
<div class="modal-dialog" style="width: 1000px;background-color: #FFFFFF">
<div class="modal-content" style="background-color: #FFFFFF">
<div class="modal-body">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="salesFinishFormId">
<div class="select-list">
<ul>
<li>
<label>订单号码:</label>
<input type="text" name="salesOrderNumber"/>
</li>
<li>
<label>成品代码:</label>
<input type="text" name="finishProductCode"/>
</li>
<li>
<label>成品名称:</label>
<input type="text" name="finishProductName"/>
</li>
<li>
<label>客户代码:</label>
<input type="text" name="enterpriseCode"/>
</li>
<li>
<label>客户名称:</label>
<input type="text" name="enterpriseName"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search('salesFinishFormId','salesFinishTable')"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('salesFinishFormId','salesFinishTable')"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="salesFinishTable" style="white-space:nowrap"></table>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<a class="btn btn-warning btn-rounded" onclick="addSalesFinishToTable()">确认添加</a>
<a class="btn btn-primary btn-rounded" onclick="closeSalesFinishModal()">关闭</a>
</div>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js"/>
<th:block th:include="include :: select2-js"/>
<th:block th:include="include :: bootstrap-table-editable-js"/>
<script th:inline="javascript">
var getData = [[${deliveryGoodsNotice}]]
var prefix = ctx + "manufacture/deliveryGoodsNotice"
var prefixDetail = ctx + "manufacture/deliveryGoodsDetail"
var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]];
$("#form-deliveryGoodsNotice-edit").validate({
focusCleanup: true
});
function submitHandler() {
var getData = $("#addSalesFinishTable").bootstrapTable("getData");
if(getData.length > 0){
if ($.validate.form()) {
//确认添加选中的物料数据
confirmSalesFinish();
$.operate.save(prefix + "/edit", $('#form-deliveryGoodsNotice-edit').serialize());
}
} else {
$.modal.alertWarning("未选择订单,请选择!")
}
}
$("input[name='deliveryDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true,
todayBtn: true
});
//获取仓库信息
$.ajax({
url: ctx + "stock/stockInfo/list",
type: "post",
success: function (res) {
// console.log(res)
if (res.rows.length > 0) {
let stockData = res.rows;
for (let i in stockData) {
// console.log(finishProductData[i].finishProductCode)
$("#form-deliveryGoodsNotice-edit select[name='stockName']").append("<option value='" + stockData[i].stockname + "'>" + stockData[i].stockname + "</option>");
$("#form-deliveryGoodsNotice-edit select[name='stockName']").val(getData.stockName).trigger("change")
$("#form-deliveryGoodsNotice-edit select[name='stockName']").change(function () {
var stockName = $(this).val();
for (let i=0;i<stockData.length;i++) {
if (stockData[i].stockname == stockName) {
$("#form-deliveryGoodsNotice-edit input[name='stockNumber']").val(stockData[i].stockNO);
}
}
})
}
}
}
})
//获取客户信息
$.ajax({
url: ctx + 'system/customer/list',
type: "post",
success: function (res) {
// console.log(res)
if (res.rows.length > 0) {
let customerData = res.rows;
for (let i in customerData) {
// console.log(finishProductData[i].finishProductCode)
$("#form-deliveryGoodsNotice-edit select[name='enterpriseCode']").append("<option value='" + customerData[i].enterpriseCode + "'>" + customerData[i].enterpriseCode + "</option>");
$("#form-deliveryGoodsNotice-edit select[name='enterpriseCode']").val(getData.enterpriseCode).trigger("change")
$("#form-deliveryGoodsNotice-edit select[name='exportSales']").val(getData.exportSales).trigger("change")
$("#form-deliveryGoodsNotice-edit select[name='enterpriseCode']").change(function () {
var enterpriseCode = $(this).val();
for (let i=0;i<customerData.length;i++) {
if (customerData[i].enterpriseCode == enterpriseCode) {
$("#form-deliveryGoodsNotice-edit input[name='enterpriseName']").val(customerData[i].enterpriseName);
$("#form-deliveryGoodsNotice-edit input[name='customerContact']").val(customerData[i].customerContact);
$("#form-deliveryGoodsNotice-edit input[name='deliveryAddress']").val(customerData[i].deliveryAddress);
$("#form-deliveryGoodsNotice-edit select[name='exportSales']").val(customerData[i].exportSales).trigger("change");
}
}
})
}
}
}
})
//获取制单人
$.ajax({
url: ctx + "system/user/list",
type: "post",
success: function (res) {
// console.log(res)
if (res.rows.length > 0) {
let userData = res.rows;
for (let i in userData) {
// console.log(finishProductData[i].finishProductCode)
$("#form-deliveryGoodsNotice-edit select[name='voucherPreparation']").append("<option value='" + userData[i].userName + "'>" + userData[i].userName + "</option>");
$("#form-deliveryGoodsNotice-edit select[name='voucherPreparation']").val(getData.voucherPreparation).trigger("change")
}
}
}
})
//初始化添加材料表
$('#addSalesFinishTable').bootstrapTable({
url: prefixDetail + '/list',
method: "post",
pagination: true,
pageNumber: 1,
pageSize: 10,
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
cardView: false, // 是否显示详细视图
detailView: false, // 是否显示父子表
smartDisplay: false, // 加了这个才显示每页显示的行数
showExport: false, // 是否显示导出按钮
clickToSelect: true,//点击行选中
paginationDetailHAlign: ' hiddenDetailInfo',
height: 250,
uniqueId: 'finishProductCode',
queryParams: function (params) {
//console.log("123");
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
noticeOrderNumber: getData.noticeOrderNumber
};
// console.log(data[0].enterpriseCode)
return curParams
},
columns: [
{
checkbox: true
},
{
field: 'deliveryGoodsDetailId',
title: '发货通知单详情id',
visible: false
},
{
field: 'noticeOrderNumber',
title: '通知单号',
visible: false
},
{
field: 'salesOrderNumber',
title: '订单号码'
},
{
field: 'enterpriseCode',
title: '客户代码'
},
{
field: 'enterpriseName',
title: '客户名称'
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'customerNumber',
title: '客户料号'
},
{
field: 'typeMachine',
title: '机种'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'commonCurrency',
title: '币别',
formatter: function (value, row, index) {
return $.table.selectDictLabel(commonCurrencyDatas, value);
}
},
{
field: 'processPrice',
title: '单价'
},
{
field: 'productQuantity',
title: '数量'
},
{
field: 'amountMoney',
title: '金额'
},
{
field: 'line',
title: 'Line#'
},
{
field: 'versionNumber',
title: '版本号'
},
{
field: 'salesExplain',
title: '说明'
}]
})
//选择订单
function showOrderDetailModal() {
if ($.validate.form()) {
$("#salesFinishModal").modal("show");
// var enterpriseCode = $("#form-deliveryGoodsNotice-add select[name='enterpriseCode']").val()
// var enterpriseName = $("#form-deliveryGoodsNotice-add input[name='enterpriseName']").val()
var options = {
id: 'salesFinishTable',
url: ctx + "system/salesFinish/list",
modalName: "销售产品",
showToggle: false, // 是否显示详细视图和列表视图的切换按钮
cardView: false, // 是否显示详细视图
detailView: false, // 是否显示父子表
smartDisplay: false, // 加了这个才显示每页显示的行数
showExport: false, // 是否显示导出按钮
clickToSelect: true,//点击行选中
queryParams: function (params) {
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1
};
let json = $.extend(curParams, $.common.formToJSON("salesFinishFormId"));
return json;
},
columns: [{
checkbox: true
},
{
field: 'salesFinishId',
title: '订单id',
visible: false
},
{
field: 'salesOrderCode',
title: '订单编号'
},
{
field: 'salesOrderNumber',
title: '订单号码'
},
{
field: 'enterpriseCode',
title: '客户代码'
},
{
field: 'enterpriseName',
title: '客户名称'
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'customerNumber',
title: '客户料号'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'typeMachine',
title: '机种'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'stockUnitWeight',
title: '重量'
},
{
field: 'commonCurrency',
title: '币别',
formatter: function (value, row, index) {
return $.table.selectDictLabel(commonCurrencyDatas, value);
}
},
{
field: 'processPrice',
title: '单价'
},
{
field: 'productQuantity',
title: '数量'
},
{
field: 'amountMoney',
title: '金额'
},
{
field: 'deliveryTime',
title: '交期'
},
{
field: 'line',
title: 'Line#'
},
{
field: 'versionNumber',
title: '版本号'
},
{
field: 'salesExplain',
title: '说明'
}]
};
$.table.init(options);
} else {
$.modal.alertWarning("请先填写必填项!")
}
}
//关闭订单框
function closeSalesFinishModal() {
$("#salesFinishModal").modal("hide");
}
//表中添加选中的订单信息
function addSalesFinishToTable() {
var data = $("#salesFinishTable").bootstrapTable("getSelections");
var count = $('#addSalesFinishTable').bootstrapTable('getData').length;
var noticeOrderNumber = $("input[name='noticeOrderNumber']").val();
// console.log(materialType)
for (i = 0; i < data.length; i++) {
let finishProduct = $('#addSalesFinishTable').bootstrapTable('getRowByUniqueId', data[i].finishProductCode);
if (finishProduct != null) {
alert(finishProduct.finishProductName + "已存在,不可重复添加!");
continue;
}
$("#addSalesFinishTable").bootstrapTable('insertRow', {
index: count + i,
row: {
noticeOrderNumber: noticeOrderNumber,
salesOrderNumber: data[i].salesOrderNumber,
enterpriseCode: data[i].enterpriseCode,
enterpriseName: data[i].enterpriseName,
finishProductCode: data[i].finishProductCode,
finishProductName: data[i].finishProductName,
specificationModel: data[i].specificationModel,
customerNumber: data[i].customerNumber,
typeMachine: data[i].typeMachine,
inventoryUnit: data[i].inventoryUnit,
commonCurrency: data[i].commonCurrency,
processPrice: data[i].processPrice,
productQuantity: data[i].productQuantity,
amountMoney: data[i].amountMoney,
line: data[i].line,
versionNumber: data[i].versionNumber,
salesExplain: data[i].salesExplain
}
});
}
$("#salesFinishTable").bootstrapTable("uncheckAll");
closeSalesFinishModal();
}
//确认材料信息
function confirmSalesFinish() {
var data = $("#addSalesFinishTable").bootstrapTable("getData");
// console.log(data)
$.ajax({
url: prefixDetail + '/addEditSave',
type: "POST",
data: {
data: JSON.stringify(data)
},
dataType: "json",
success: function (resp) {
// console.log(data)
console.log(resp)
},
})
}
//删除订单信息
function removeOrderDetail() {
var addSalesFinishTableData = $("#addSalesFinishTable").bootstrapTable("getSelections");
var ids = [];
var finishProductCodes=[];
for (let i = 0;i < addSalesFinishTableData.length;i++) {
ids.push(addSalesFinishTableData[i].deliveryGoodsDetailId)
finishProductCodes.push(addSalesFinishTableData[i].finishProductCode)
}
// console.log(ids)
if (addSalesFinishTableData.length > 0) {
$.modal.confirm("是否确认要删除选中的物料?", function (){
$.ajax({
url: prefixDetail + "/removeSalesFinish",
type: "POST",
data: {
ids: JSON.stringify(ids)
},
success: function (res) {
// console.log(ids)
// console.log(res)
$.modal.msgSuccess("删除成功")
// $("#addProductTable").bootstrapTable('refreshOptions', {pageNumber: 1}); // pageNumber:1, 指定页码为第1页
// $("#addProductTable").bootstrapTable('refresh');
$("#addSalesFinishTable").bootstrapTable ('remove', { field: 'finishProductCode', values: finishProductCodes })
}
})
})
} else {
alert("请选择需要删除的数据")
}
}
</script>
</body>
</html>

93
ruoyi-admin/target/classes/templates/manufacture/materialRequisitionDetail/add.html

@ -0,0 +1,93 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增领料物料')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-materialRequisitionDetail-add">
<div class="form-group">
<label class="col-sm-3 control-label">领料单号:</label>
<div class="col-sm-8">
<input name="materialRequisitionNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料代码:</label>
<div class="col-sm-8">
<input name="materialCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="materialName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">规格型号:</label>
<div class="col-sm-8">
<input name="specificationModel" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">机种:</label>
<div class="col-sm-8">
<input name="typeMachine" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<input name="inventoryUnit" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">计划数量:</label>
<div class="col-sm-8">
<input name="planQuantity" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">说明:</label>
<div class="col-sm-8">
<input name="description" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位用量:</label>
<div class="col-sm-8">
<input name="unitUsage" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">存放位置:</label>
<div class="col-sm-8">
<input name="storageLocation" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料类别:</label>
<div class="col-sm-8">
<select name="materialType" class="form-control m-b" th:with="type=${@dict.getType('sys_wl_class')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "manufacture/materialRequisitionDetail"
$("#form-materialRequisitionDetail-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-materialRequisitionDetail-add').serialize());
}
}
</script>
</body>
</html>

94
ruoyi-admin/target/classes/templates/manufacture/materialRequisitionDetail/edit.html

@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改领料物料')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-materialRequisitionDetail-edit" th:object="${materialRequisitionDetail}">
<input name="materialRequisitionDetailId" th:field="*{materialRequisitionDetailId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">领料单号:</label>
<div class="col-sm-8">
<input name="materialRequisitionNumber" th:field="*{materialRequisitionNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料代码:</label>
<div class="col-sm-8">
<input name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="materialName" th:field="*{materialName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">规格型号:</label>
<div class="col-sm-8">
<input name="specificationModel" th:field="*{specificationModel}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">机种:</label>
<div class="col-sm-8">
<input name="typeMachine" th:field="*{typeMachine}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<input name="inventoryUnit" th:field="*{inventoryUnit}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">计划数量:</label>
<div class="col-sm-8">
<input name="planQuantity" th:field="*{planQuantity}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">说明:</label>
<div class="col-sm-8">
<input name="description" th:field="*{description}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位用量:</label>
<div class="col-sm-8">
<input name="unitUsage" th:field="*{unitUsage}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">存放位置:</label>
<div class="col-sm-8">
<input name="storageLocation" th:field="*{storageLocation}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料类别:</label>
<div class="col-sm-8">
<select name="materialType" class="form-control m-b" th:with="type=${@dict.getType('sys_wl_class')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{materialType}"></option>
</select>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "manufacture/materialRequisitionDetail";
$("#form-materialRequisitionDetail-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-materialRequisitionDetail-edit').serialize());
}
}
</script>
</body>
</html>

145
ruoyi-admin/target/classes/templates/manufacture/materialRequisitionDetail/materialRequisitionDetail.html

@ -0,0 +1,145 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('领料物料列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>领料单号:</label>
<input type="text" name="materialRequisitionNumber"/>
</li>
<li>
<label>物料代码:</label>
<input type="text" name="materialCode"/>
</li>
<li>
<label>物料名称:</label>
<input type="text" name="materialName"/>
</li>
<li>
<label>物料类别:</label>
<select name="materialType" th:with="type=${@dict.getType('sys_wl_class')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="manufacture:materialRequisitionDetail:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="manufacture:materialRequisitionDetail:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="manufacture:materialRequisitionDetail:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="manufacture:materialRequisitionDetail:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('manufacture:materialRequisitionDetail:edit')}]];
var removeFlag = [[${@permission.hasPermi('manufacture:materialRequisitionDetail:remove')}]];
var materialTypeDatas = [[${@dict.getType('sys_wl_class')}]];
var prefix = ctx + "manufacture/materialRequisitionDetail";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "领料物料",
columns: [{
checkbox: true
},
{
field: 'materialRequisitionDetailId',
title: '领料物料id',
visible: false
},
{
field: 'materialRequisitionNumber',
title: '领料单号'
},
{
field: 'materialCode',
title: '物料代码'
},
{
field: 'materialName',
title: '物料名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'typeMachine',
title: '机种'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'planQuantity',
title: '计划数量'
},
{
field: 'description',
title: '说明'
},
{
field: 'unitUsage',
title: '单位用量'
},
{
field: 'storageLocation',
title: '存放位置'
},
{
field: 'materialType',
title: '物料类别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(materialTypeDatas, value);
}
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.materialRequisitionDetailId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.materialRequisitionDetailId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

1521
ruoyi-admin/target/classes/templates/manufacture/materialRequisitionInfo/add.html

File diff suppressed because it is too large

1526
ruoyi-admin/target/classes/templates/manufacture/materialRequisitionInfo/edit.html

File diff suppressed because it is too large

330
ruoyi-admin/target/classes/templates/manufacture/materialRequisitionInfo/materialRequisitionInfo.html

@ -0,0 +1,330 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('领料单列表')" />
<th:block th:include="include :: datetimepicker-css"/>
<script type="text/javascript" th:src="@{/js/axios.min.js}"></script>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>领料单号:</label>
<input type="text" name="materialRequisitionNumber"/>
</li>
<li>
<label>订单号码:</label>
<input type="text" name="salesOrderNumber"/>
</li>
<li>
<label>制工单号:</label>
<input type="text" name="workOrderNumber"/>
</li>
<li>
<label>领料部门:</label>
<select name="deptName" th:with="type=${@dict.getType('sys_dept_type')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>仓库名称:</label>
<select name="stockName">
<option value="">所有</option>
<option value="-1">代码生成请选择字典属性</option>
</select>
</li>
<li>
<label>出库类型:</label>
<select name="outputClass" th:with="type=${@dict.getType('sys_out_type')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li class="select-time">
<label>出库日期:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginOutputDate]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endOutputDate]"/>
</li>
<li>
<label>领料否:</label>
<select name="getMaterialFlag" th:with="type=${@dict.getType('sys_whether')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="manufacture:materialRequisitionInfo:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="manufacture:materialRequisitionInfo:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger single disabled" onclick="removeSelectedOrder()" shiro:hasPermission="manufacture:materialRequisitionInfo:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="exportRequisitionOrder()" shiro:hasPermission="manufacture:materialRequisitionInfo:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped" style="white-space: nowrap">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js"/>
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('manufacture:materialRequisitionInfo:edit')}]];
var removeFlag = [[${@permission.hasPermi('manufacture:materialRequisitionInfo:remove')}]];
var deptNameDatas = [[${@dict.getType('sys_dept_type')}]];
var outputClassDatas = [[${@dict.getType('sys_out_type')}]];
var getMaterialFlagDatas = [[${@dict.getType('sys_whether')}]];
var prefix = ctx + "manufacture/materialRequisitionInfo";
var prefixMaterialRequisitionDetail = ctx + "manufacture/materialRequisitionDetail";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
clickToSelect: true,
modalName: "领料单",
columns: [{
checkbox: true
},
{
field: 'materialRequisitionId',
title: '领料单id',
visible: false
},
{
field: 'materialRequisitionNumber',
title: '领料单号'
},
{
field: 'salesOrderNumber',
title: '订单号码'
},
{
field: 'workOrderNumber',
title: '制工单号'
},
{
field: 'deptName',
title: '领料部门',
formatter: function(value, row, index) {
return $.table.selectDictLabel(deptNameDatas, value);
}
},
{
field: 'materialRequisitionPerson',
title: '领料人'
},
{
field: 'deptNumber',
title: '部门编号'
},
{
field: 'stockNumber',
title: '仓库编号'
},
{
field: 'stockName',
title: '仓库名称'
},
{
field: 'stockManager',
title: '仓库管理员'
},
{
field: 'outputClass',
title: '出库类型',
formatter: function(value, row, index) {
return $.table.selectDictLabel(outputClassDatas, value);
}
},
{
field: 'outputDate',
title: '出库日期'
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'typeMachine',
title: '机种'
},
{
field: 'workOrderQuantity',
title: '工单数量'
},
{
field: 'remarkContent',
title: '备注内容'
},
{
field: 'getMaterialFlag',
title: '领料否',
formatter: function(value, row, index) {
return $.table.selectDictLabel(getMaterialFlagDatas, value);
}
},
{
field: 'firstAddTime',
title: '录入时间',
formatter: function (value, row, index) {
if (value == null) {
return " ";
} else {
return value;
}
}
},
{
field: 'updateInfoTime',
title: '上次修改时间',
formatter: function (value, row, index) {
if (value == null) {
return " ";
} else {
var vArr = value.split(',')
return vArr[0];
}
}
}]
// {
// title: '操作',
// align: 'center',
// formatter: function(value, row, index) {
// var actions = [];
// actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.materialRequisitionId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
// actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.materialRequisitionId + '\')"><i class="fa fa-remove"></i>删除</a>');
// return actions.join('');
// }
// }
};
$.table.init(options);
});
//删除
function removeSelectedOrder() {
var orderData = $("#bootstrap-table").bootstrapTable("getSelections");
if (orderData.length === 1) {
// console.log(orderData)
$.ajax({
url: prefixMaterialRequisitionDetail + '/list',
type: 'post',
data: {
materialRequisitionNumber: orderData[0].materialRequisitionNumber
},
success: function (res) {
console.log(res)
if (res.rows.length > 0) {
$.modal.confirm("该订单内含有"+ res.rows.length+ "条物料数据将一并删除,是否删除?", function () {
$.ajax({
url: prefix + '/removeSelectedOrder',
type: 'post',
data: {
orderData : JSON.stringify(orderData)
},
success: function (res) {
// console.log(res)
$("#bootstrap-table").bootstrapTable("refresh");
$.modal.msgSuccess("删除成功!")
},
error: function (res) {
$.modal.msgError(res.error())
}
})
})
} else if (res.rows.length == 0) {
$.modal.confirm("确认删除该订单吗?", function () {
$.ajax({
url: prefix + '/remove',
type: 'post',
data: {
ids : orderData[0].materialRequisitionId
},
success: function (res) {
// console.log(res)
$("#bootstrap-table").bootstrapTable("refresh");
$.modal.msgSuccess("删除成功!")
},
error: function (res) {
$.modal.msgError(res.error())
}
})
})
}
}
})
} else {
$.modal.msgWarning("请选择一条数据")
}
}
//导出
function exportRequisitionOrder() {
var rows = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
var data = $("#bootstrap-table").bootstrapTable("getSelections")
if (rows.length !== 1) {
$.modal.alert("请选择一条记录");
return;
} else {
// rows为选中行的id
// console.log(rows);
// console.log(data);
// console.log(data[0].orderNumber)
$.modal.confirm("是否确认要导出本条领料单?", function (){
axios({
url: prefix + '/exportSelected/'+data[0].materialRequisitionId,
method: 'POST',
responseType: 'blob'
}).then(response => {
// console.log(response)
const URL = window.URL.createObjectURL(response.data)
// 创建隐藏<a>标签进行下载
const tempLink = document.createElement('a')
tempLink.style.display = 'none'
tempLink.href = URL
let time = new Date().toLocaleString()
tempLink.setAttribute('download', time + "领料单.xlsx")
if (typeof tempLink.download === 'undefined') {
tempLink.setAttribute('target', '_blank')
}
document.body.appendChild(tempLink)
tempLink.click()
document.body.removeChild(tempLink)// 移除dom元素
window.URL.revokeObjectURL(URL)//释放内存
})
});
}
}
</script>
</body>
</html>

93
ruoyi-admin/target/classes/templates/manufacture/workOrderDetail/add.html

@ -0,0 +1,93 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增制工单材料')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-workOrderDetail-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">工单号:</label>
<div class="col-sm-8">
<input name="workOrderNumber" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">物料代码:</label>
<div class="col-sm-8">
<input name="materialCode" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="materialName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">规格型号:</label>
<div class="col-sm-8">
<input name="specificationModel" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<input name="inventoryUnit" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料类别:</label>
<div class="col-sm-8">
<select name="materialType" class="form-control m-b" th:with="type=${@dict.getType('bom_material_category')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">用量:</label>
<div class="col-sm-8">
<input name="materialConsumption" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">料号:</label>
<div class="col-sm-8">
<input name="itemNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">说明:</label>
<div class="col-sm-8">
<input name="description" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备用一:</label>
<div class="col-sm-8">
<input name="standbyOne" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备用二:</label>
<div class="col-sm-8">
<input name="standbyTwo" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "manufacture:/workOrderDetail"
$("#form-workOrderDetail-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-workOrderDetail-add').serialize());
}
}
</script>
</body>
</html>

94
ruoyi-admin/target/classes/templates/manufacture/workOrderDetail/edit.html

@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改制工单材料')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-workOrderDetail-edit" th:object="${workOrderDetail}">
<input name="workOrderDetailId" th:field="*{workOrderDetailId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label is-required">工单号:</label>
<div class="col-sm-8">
<input name="workOrderNumber" th:field="*{workOrderNumber}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">物料代码:</label>
<div class="col-sm-8">
<input name="materialCode" th:field="*{materialCode}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="materialName" th:field="*{materialName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">规格型号:</label>
<div class="col-sm-8">
<input name="specificationModel" th:field="*{specificationModel}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<input name="inventoryUnit" th:field="*{inventoryUnit}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料类别:</label>
<div class="col-sm-8">
<select name="materialType" class="form-control m-b" th:with="type=${@dict.getType('bom_material_category')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{materialType}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">用量:</label>
<div class="col-sm-8">
<input name="materialConsumption" th:field="*{materialConsumption}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">料号:</label>
<div class="col-sm-8">
<input name="itemNumber" th:field="*{itemNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">说明:</label>
<div class="col-sm-8">
<input name="description" th:field="*{description}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备用一:</label>
<div class="col-sm-8">
<input name="standbyOne" th:field="*{standbyOne}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备用二:</label>
<div class="col-sm-8">
<input name="standbyTwo" th:field="*{standbyTwo}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "manufacture:/workOrderDetail";
$("#form-workOrderDetail-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-workOrderDetail-edit').serialize());
}
}
</script>
</body>
</html>

137
ruoyi-admin/target/classes/templates/manufacture/workOrderDetail/workOrderDetail.html

@ -0,0 +1,137 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('制工单材料列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>工单号:</label>
<input type="text" name="workOrderNumber"/>
</li>
<li>
<label>物料代码:</label>
<input type="text" name="materialCode"/>
</li>
<li>
<label>物料名称:</label>
<input type="text" name="materialName"/>
</li>
<li>
<label>物料类别:</label>
<select name="materialType" th:with="type=${@dict.getType('bom_material_category')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="manufacture::workOrderDetail:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="manufacture::workOrderDetail:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="manufacture::workOrderDetail:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="manufacture::workOrderDetail:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('manufacture::workOrderDetail:edit')}]];
var removeFlag = [[${@permission.hasPermi('manufacture::workOrderDetail:remove')}]];
var materialTypeDatas = [[${@dict.getType('bom_material_category')}]];
var prefix = ctx + "manufacture:/workOrderDetail";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "制工单材料",
columns: [{
checkbox: true
},
{
field: 'workOrderDetailId',
title: '制工材料id',
visible: false
},
{
field: 'workOrderNumber',
title: '工单号'
},
{
field: 'materialCode',
title: '物料代码'
},
{
field: 'materialName',
title: '物料名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'materialType',
title: '物料类别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(materialTypeDatas, value);
}
},
{
field: 'materialConsumption',
title: '用量'
},
{
field: 'itemNumber',
title: '料号'
},
{
field: 'description',
title: '说明'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.workOrderDetailId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.workOrderDetailId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

1013
ruoyi-admin/target/classes/templates/manufacture/workOrderInfo/add.html

File diff suppressed because it is too large

1019
ruoyi-admin/target/classes/templates/manufacture/workOrderInfo/edit.html

File diff suppressed because it is too large

483
ruoyi-admin/target/classes/templates/manufacture/workOrderInfo/workOrderInfo.html

@ -0,0 +1,483 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('制工单列表')" />
<th:block th:include="include :: datetimepicker-css"/>
<script type="text/javascript" th:src="@{/js/axios.min.js}"></script>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>订单号码:</label>
<input type="text" name="salesOrderNumber"/>
</li>
<li>
<label>工单号:</label>
<input type="text" name="workOrderNumber"/>
</li>
<li>
<label>加工部门:</label>
<select name="processDept" th:with="type=${@dict.getType('sys_department_class')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>客户代码:</label>
<input type="text" name="enterpriseCode"/>
</li>
<li>
<label>成品代码:</label>
<input type="text" name="finishProductCode"/>
</li>
<li>
<label>成品名称:</label>
<input type="text" name="finishProductName"/>
</li>
<li class="select-time">
<label>开单日期:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginBillingTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endBillingTime]"/>
</li>
<li class="select-time">
<label>交期:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginDeliveryTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endDeliveryTime]"/>
</li>
<li>
<label>工单类型:</label>
<select name="workOrderClass" th:with="type=${@dict.getType('sys_workorderClass')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>结案否:</label>
<select name="closeCaseFlag" th:with="type=${@dict.getType('sys_whether')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="manufacture:workOrderInfo:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="manufacture:workOrderInfo:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="removeWorkOrder()" shiro:hasPermission="manufacture:workOrderInfo:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="exportWorkOrder()" shiro:hasPermission="manufacture:workOrderInfo:export">
<i class="fa fa-download"></i> 导出
</a>
<a class="btn btn-primary" onclick="reviewCloseCase()" shiro:hasPermission="manufacture:workOrderInfo:closeCase">
<i class="fa fa-hand-grab-o"></i> 结案
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table" style="white-space: nowrap"></table>
</div>
</div>
</div>
<!--订单结案-->
<div class="modal fade" id="closeCaseModal">
<div class="modal-dialog">
<div class="modal-content message_align">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title">结案信息</h4>
</div>
<div class="modal-body" style="height: 180px">
<form id="form-closeCase-edit">
<div class="form-group" style="display: none">
<label class="col-sm-3 control-label is-required">工单id:</label>
<div class="col-sm-8">
<input id="workOrderId" name="workOrderId" class="form-control" type="text" required
readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label ">结案否:</label>
<div class="col-sm-8">
<select id="closeCaseFlag" name="closeCaseFlag" class="form-control"
th:with="type=${@dict.getType('sys_whether')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label ">结案时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input id="closeCaseTime" name="closeCaseTime" class="form-control"
placeholder="yyyy-mm-dd hh:ii:ss" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label ">结案人:</label>
<div class="col-sm-8">
<!-- <input id="auditName" name="auditName" class="form-control" type="text" th:value="${@permission.getPrincipalProperty('userName')}">-->
<input id="closeCasePerson" name="closeCasePerson" class="form-control" type="text">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
<button type="button" onclick="closeCaseSubmit()" class="btn btn-success" data-dismiss="modal">确定</button>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js"/>
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('manufacture:workOrderInfo:edit')}]];
var removeFlag = [[${@permission.hasPermi('manufacture:workOrderInfo:remove')}]];
var processDeptDatas = [[${@dict.getType('sys_department_class')}]];
var workOrderClassDatas = [[${@dict.getType('sys_workorderClass')}]];
var closeCaseFlagDatas = [[${@dict.getType('sys_whether')}]];
var prefix = ctx + "manufacture/workOrderInfo";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
clickToSelect: true,
modalName: "制工单",
columns: [{
checkbox: true
},
{
field: 'workOrderId',
title: '制工单id',
visible: false
},
{
field: 'closeCaseFlag',
title: '结案否',
formatter: function(value, row, index) {
// return $.table.selectDictLabel(closeCaseNoDatas, value);
var actions = [];
if ($.table.selectDictLabel(closeCaseFlagDatas, value) == "<span class=''></span>") {
actions.push('<a class="btn btn-primary btn-xs disabled">已结案</a> ');
} else {
actions.push('<a class="btn btn-danger btn-xs disabled">未结案</a> ');
}
return actions.join('');
}
},
{
field: 'salesOrderNumber',
title: '订单号码'
},
{
field: 'workOrderNumber',
title: '工单号'
},
{
field: 'line',
title: 'Line#'
},
{
field: 'processDept',
title: '加工部门',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processDeptDatas, value);
}
},
{
field: 'enterpriseCode',
title: '客户代码'
},
{
field: 'enterpriseName',
title: '客户名称'
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'finishProductName',
title: '成品名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'typeMachine',
title: '机种'
},
{
field: 'inventoryUnit',
title: '单位'
},
{
field: 'orderQuantity',
title: '订单数量'
},
{
field: 'deliveryOrderQuantity',
title: '投单数量'
},
{
field: 'beginOrderQuantity',
title: '已开工单数'
},
{
field: 'notBeginOrderQuantity',
title: '未开工单数'
},
{
field: 'customerFactory',
title: '客户厂区'
},
{
field: 'beginDate',
title: '开工日期'
},
{
field: 'endDate',
title: '完工日期'
},
{
field: 'billingTime',
title: '开单日期'
},
{
field: 'deliveryTime',
title: '交期'
},
{
field: 'versionNumber',
title: '版本号'
},
{
field: 'salesExplain',
title: '备注说明'
},
{
field: 'workOrderClass',
title: '工单类型',
formatter: function(value, row, index) {
return $.table.selectDictLabel(workOrderClassDatas, value);
}
},
{
field: 'closeCasePerson',
title: '结案人'
},
{
field: 'closeCaseTime',
title: '结案时间'
},
{
field: 'firstAddTime',
title: '录入时间',
formatter: function (value, row, index) {
if (value == null) {
return " ";
} else {
return value;
}
}
},
{
field: 'updateInfoTime',
title: '上次修改时间',
formatter: function (value, row, index) {
if (value == null) {
return " ";
} else {
var vArr = value.split(',')
return vArr[0];
}
}
}]
// {
// title: '操作',
// align: 'center',
// formatter: function(value, row, index) {
// var actions = [];
// actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.workOrderId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
// actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.workOrderId + '\')"><i class="fa fa-remove"></i>删除</a>');
// return actions.join('');
// }
// }
};
$.table.init(options);
});
$("input[name='closeCaseTime']").datetimepicker({
format: 'yyyy-mm-dd hh:ii:ss',
autoclose: true,
minView: 0,
minuteStep: 1
});
//删除
function removeWorkOrder() {
var orderData = $("#bootstrap-table").bootstrapTable("getSelections");
if (orderData.length === 1) {
// console.log(orderData)
$.ajax({
url: ctx + 'manufacture/workOrderDetail/list',
type: 'post',
data: {
workOrderNumber: orderData[0].workOrderNumber
},
success: function (res) {
console.log(res)
if (res.rows.length > 0) {
$.modal.confirm("该订单内含有"+ res.rows.length+ "条物料数据将一并删除,是否删除?", function () {
$.ajax({
url: prefix + '/removeSelectedOrder',
type: 'post',
data: {
orderData: JSON.stringify(orderData)
},
success: function (res) {
// console.log(res)
$("#bootstrap-table").bootstrapTable("refresh");
$.modal.msgSuccess("删除成功!")
},
error: function (res) {
$.modal.msgError(res.error())
}
})
})
} else if (res.rows.length === 0) {
$.modal.confirm("确认删除该订单吗?", function () {
$.ajax({
url: prefix + '/remove',
type: 'post',
data: {
ids : orderData[0].workOrderId
},
success: function (res) {
// console.log(res)
$("#bootstrap-table").bootstrapTable("refresh");
$.modal.msgSuccess("删除成功!")
},
error: function (res) {
$.modal.msgError(res.error())
}
})
})
}
}
})
} else {
$.modal.msgWarning("请选择一条数据")
}
}
//导出
function exportWorkOrder() {
var rows = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId);
var data = $("#bootstrap-table").bootstrapTable("getSelections")
if (rows.length !== 1) {
$.modal.alert("请选择一条记录");
return;
} else {
// rows为选中行的id
// console.log(rows);
// console.log(data);
// console.log(data[0].orderNumber)
$.modal.confirm("是否确认要导出本条制工单?", function (){
axios({
url: prefix + '/exportSelected/'+data[0].workOrderId,
method: 'POST',
responseType: 'blob'
}).then(response => {
// console.log(response)
const URL = window.URL.createObjectURL(response.data)
// 创建隐藏<a>标签进行下载
const tempLink = document.createElement('a')
tempLink.style.display = 'none'
tempLink.href = URL
let time = new Date().toLocaleString()
tempLink.setAttribute('download', time + "制工单.xlsx")
if (typeof tempLink.download === 'undefined') {
tempLink.setAttribute('target', '_blank')
}
document.body.appendChild(tempLink)
tempLink.click()
document.body.removeChild(tempLink)// 移除dom元素
window.URL.revokeObjectURL(URL)//释放内存
})
});
}
}
// 订单结案
function reviewCloseCase(){
let data = $("#bootstrap-table").bootstrapTable("getSelections");
let userName = [[${@permission.getPrincipalProperty('userName')}]];
if (data.length ===1) {
$("#workOrderId").val(data[0].workOrderId)
$("#closeCaseFlag").val(data[0].closeCaseFlag).trigger("change")
$("#closeCasePerson").val(userName)
$("#closeCaseTime").datetimepicker("setDate", new Date());
$("#closeCaseModal").modal("show");
}else {
$.modal.alert("请选择一条数据");
}
}
// 订单结案
function closeCaseSubmit(){
$.ajax({
url: prefix + "/edit",
type: "post",
resultType: "json",
data: $('#form-closeCase-edit').serialize(),
success: function (resp) {
// console.log(resp)
$("#closeCaseModal").modal("hide");
$("#bootstrap-table").bootstrapTable('refresh');
$.modal.msgSuccess("操作成功!")
},
error: function () {
$.modal.msgError("出错了!");
}
});
}
</script>
</body>
</html>

115
ruoyi-admin/target/classes/templates/storehouse/warehousingInspectionDetail/add.html

@ -0,0 +1,115 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增入库检验通知物料')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-warehousingInspectionDetail-add">
<div class="form-group">
<label class="col-sm-3 control-label">入通知单号:</label>
<div class="col-sm-8">
<input name="inNoticeNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料代码:</label>
<div class="col-sm-8">
<input name="materialCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="materialName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">规格型号:</label>
<div class="col-sm-8">
<input name="specificationModel" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料类别:</label>
<div class="col-sm-8">
<select name="materialType" class="form-control m-b" th:with="type=${@dict.getType('bom_material_category')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<select name="purchasingUnit" class="form-control m-b" th:with="type=${@dict.getType('sys_unit_class')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">送货数量:</label>
<div class="col-sm-8">
<input name="materialQuantity" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合格数量:</label>
<div class="col-sm-8">
<input name="qualifiedQuantity" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">不合格数量:</label>
<div class="col-sm-8">
<input name="unqualifiedQuantity" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合格率:</label>
<div class="col-sm-8">
<input name="qualificationRate" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">说明:</label>
<div class="col-sm-8">
<input name="purchaseExplain" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">判定结果:</label>
<div class="col-sm-8">
<select name="judgmentResults" class="form-control m-b" th:with="type=${@dict.getType('judgment_results')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">收货批号:</label>
<div class="col-sm-8">
<input name="receiptBatchNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">厂商批号:</label>
<div class="col-sm-8">
<input name="manufacturerBatchNumber" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "storehouse/warehousingInspectionDetail"
$("#form-warehousingInspectionDetail-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-warehousingInspectionDetail-add').serialize());
}
}
</script>
</body>
</html>

116
ruoyi-admin/target/classes/templates/storehouse/warehousingInspectionDetail/edit.html

@ -0,0 +1,116 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改入库检验通知物料')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-warehousingInspectionDetail-edit" th:object="${warehousingInspectionDetail}">
<input name="warehousingInspectionDetailId" th:field="*{warehousingInspectionDetailId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">入通知单号:</label>
<div class="col-sm-8">
<input name="inNoticeNumber" th:field="*{inNoticeNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料代码:</label>
<div class="col-sm-8">
<input name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="materialName" th:field="*{materialName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">规格型号:</label>
<div class="col-sm-8">
<input name="specificationModel" th:field="*{specificationModel}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料类别:</label>
<div class="col-sm-8">
<select name="materialType" class="form-control m-b" th:with="type=${@dict.getType('bom_material_category')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{materialType}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<select name="purchasingUnit" class="form-control m-b" th:with="type=${@dict.getType('sys_unit_class')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{purchasingUnit}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">送货数量:</label>
<div class="col-sm-8">
<input name="materialQuantity" th:field="*{materialQuantity}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合格数量:</label>
<div class="col-sm-8">
<input name="qualifiedQuantity" th:field="*{qualifiedQuantity}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">不合格数量:</label>
<div class="col-sm-8">
<input name="unqualifiedQuantity" th:field="*{unqualifiedQuantity}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">合格率:</label>
<div class="col-sm-8">
<input name="qualificationRate" th:field="*{qualificationRate}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">说明:</label>
<div class="col-sm-8">
<input name="purchaseExplain" th:field="*{purchaseExplain}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">判定结果:</label>
<div class="col-sm-8">
<select name="judgmentResults" class="form-control m-b" th:with="type=${@dict.getType('judgment_results')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{judgmentResults}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">收货批号:</label>
<div class="col-sm-8">
<input name="receiptBatchNumber" th:field="*{receiptBatchNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">厂商批号:</label>
<div class="col-sm-8">
<input name="manufacturerBatchNumber" th:field="*{manufacturerBatchNumber}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "storehouse/warehousingInspectionDetail";
$("#form-warehousingInspectionDetail-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-warehousingInspectionDetail-edit').serialize());
}
}
</script>
</body>
</html>

172
ruoyi-admin/target/classes/templates/storehouse/warehousingInspectionDetail/warehousingInspectionDetail.html

@ -0,0 +1,172 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('入库检验通知物料列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>入通知单号:</label>
<input type="text" name="inNoticeNumber"/>
</li>
<li>
<label>物料代码:</label>
<input type="text" name="materialCode"/>
</li>
<li>
<label>物料名称:</label>
<input type="text" name="materialName"/>
</li>
<li>
<label>物料类别:</label>
<select name="materialType" th:with="type=${@dict.getType('bom_material_category')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>判定结果:</label>
<select name="judgmentResults" th:with="type=${@dict.getType('judgment_results')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="storehouse:warehousingInspectionDetail:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="storehouse:warehousingInspectionDetail:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="storehouse:warehousingInspectionDetail:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="storehouse:warehousingInspectionDetail:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('storehouse:warehousingInspectionDetail:edit')}]];
var removeFlag = [[${@permission.hasPermi('storehouse:warehousingInspectionDetail:remove')}]];
var materialTypeDatas = [[${@dict.getType('bom_material_category')}]];
var purchasingUnitDatas = [[${@dict.getType('sys_unit_class')}]];
var judgmentResultsDatas = [[${@dict.getType('judgment_results')}]];
var prefix = ctx + "storehouse/warehousingInspectionDetail";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "入库检验通知物料",
columns: [{
checkbox: true
},
{
field: 'warehousingInspectionDetailId',
title: '入库检验通知物料id',
visible: false
},
{
field: 'inNoticeNumber',
title: '入通知单号'
},
{
field: 'materialCode',
title: '物料代码'
},
{
field: 'materialName',
title: '物料名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'materialType',
title: '物料类别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(materialTypeDatas, value);
}
},
{
field: 'purchasingUnit',
title: '单位',
formatter: function(value, row, index) {
return $.table.selectDictLabel(purchasingUnitDatas, value);
}
},
{
field: 'materialQuantity',
title: '送货数量'
},
{
field: 'qualifiedQuantity',
title: '合格数量'
},
{
field: 'unqualifiedQuantity',
title: '不合格数量'
},
{
field: 'qualificationRate',
title: '合格率'
},
{
field: 'purchaseExplain',
title: '说明'
},
{
field: 'judgmentResults',
title: '判定结果',
formatter: function(value, row, index) {
return $.table.selectDictLabel(judgmentResultsDatas, value);
}
},
{
field: 'receiptBatchNumber',
title: '收货批号'
},
{
field: 'manufacturerBatchNumber',
title: '厂商批号'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.warehousingInspectionDetailId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.warehousingInspectionDetailId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

160
ruoyi-admin/target/classes/templates/storehouse/warehousingInspectionNotice/add.html

@ -0,0 +1,160 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增入库检验通知')" />
<th:block th:include="include :: datetimepicker-css" />
<th:block th:include="include :: bootstrap-fileinput-css"/>
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet">
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet">
<th:block th:include="include :: bootstrap-editable-css"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-warehousingInspectionNotice-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">入通知单号:</label>
<div class="col-sm-8">
<input name="inNoticeNumber" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">订购单号:</label>
<div class="col-sm-8">
<select name="purchaseOrderNumber" class="form-control m-b" required>
<option value="">所有</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">供应商代码:</label>
<div class="col-sm-8">
<input name="supplierCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">供应商名称:</label>
<div class="col-sm-8">
<input name="supplierName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">联系人:</label>
<div class="col-sm-8">
<input name="customerContact" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库编号:</label>
<div class="col-sm-8">
<input name="stockNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库名称:</label>
<div class="col-sm-8">
<input name="stockName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库管理员:</label>
<div class="col-sm-8">
<input name="stockManager" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">内外销:</label>
<div class="col-sm-8">
<select name="exportSales" class="form-control m-b" th:with="type=${@dict.getType('sys_export_sales')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">入库类别:</label>
<div class="col-sm-8">
<select name="warehousingCategory" class="form-control m-b" th:with="type=${@dict.getType('warehousing_category')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">交检日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="inspectionDate" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">入库日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="warehousingDate" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remarks" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">检验报告:</label>
<div class="col-sm-8">
<input type="hidden" name="inspectionReport">
<div class="file-loading">
<input class="form-control file-upload" id="inspectionReport" name="file" type="file">
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<th:block th:include="include :: bootstrap-fileinput-js"/>
<th:block th:include="include :: select2-js"/>
<th:block th:include="include :: bootstrap-table-editable-js"/>
<script th:inline="javascript">
var prefix = ctx + "storehouse/warehousingInspectionNotice"
$("#form-warehousingInspectionNotice-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-warehousingInspectionNotice-add').serialize());
}
}
$("input[name='inspectionDate']").datetimepicker({
format: "yyyy-mm-dd hh:ii:ss",
minView: "month",
autoclose: true
});
$("input[name='inspectionDate']").datetimepicker("setDate", new Date());
$("input[name='warehousingDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='warehousingDate']").datetimepicker("setDate", new Date());
$(".file-upload").fileinput({
uploadUrl: ctx + 'common/upload',
maxFileCount: 1,
autoReplace: true
}).on('fileuploaded', function (event, data, previewId, index) {
$("input[name='" + event.currentTarget.id + "']").val(data.response.url)
}).on('fileremoved', function (event, id, index) {
$("input[name='" + event.currentTarget.id + "']").val('')
})
</script>
</body>
</html>

163
ruoyi-admin/target/classes/templates/storehouse/warehousingInspectionNotice/edit.html

@ -0,0 +1,163 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改入库检验通知')" />
<th:block th:include="include :: datetimepicker-css" />
<th:block th:include="include :: bootstrap-fileinput-css"/>
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet">
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet">
<th:block th:include="include :: bootstrap-editable-css"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-warehousingInspectionNotice-edit" th:object="${warehousingInspectionNotice}">
<input name="warehousingInspectionNoticeId" th:field="*{warehousingInspectionNoticeId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label is-required">入通知单号:</label>
<div class="col-sm-8">
<input name="inNoticeNumber" th:field="*{inNoticeNumber}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">订购单号:</label>
<div class="col-sm-8">
<select name="purchaseOrderNumber" class="form-control m-b">
<option value="">所有</option>
</select>
<span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 代码生成请选择字典属性</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">供应商代码:</label>
<div class="col-sm-8">
<input name="supplierCode" th:field="*{supplierCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">供应商名称:</label>
<div class="col-sm-8">
<input name="supplierName" th:field="*{supplierName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">联系人:</label>
<div class="col-sm-8">
<input name="customerContact" th:field="*{customerContact}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库编号:</label>
<div class="col-sm-8">
<input name="stockNumber" th:field="*{stockNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库名称:</label>
<div class="col-sm-8">
<input name="stockName" th:field="*{stockName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库管理员:</label>
<div class="col-sm-8">
<input name="stockManager" th:field="*{stockManager}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">内外销:</label>
<div class="col-sm-8">
<select name="exportSales" class="form-control m-b" th:with="type=${@dict.getType('sys_export_sales')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{exportSales}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">入库类别:</label>
<div class="col-sm-8">
<select name="warehousingCategory" class="form-control m-b" th:with="type=${@dict.getType('warehousing_category')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{warehousingCategory}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">交检日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="inspectionDate" th:value="${#dates.format(warehousingInspectionNotice.inspectionDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">入库日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="warehousingDate" th:value="${#dates.format(warehousingInspectionNotice.warehousingDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注:</label>
<div class="col-sm-8">
<textarea name="remarks" class="form-control">[[*{remarks}]]</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">检验报告:</label>
<div class="col-sm-8">
<input type="hidden" name="inspectionReport" th:field="*{inspectionReport}">
<div class="file-loading">
<input class="form-control file-upload" id="inspectionReport" name="file" type="file">
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<th:block th:include="include :: bootstrap-fileinput-js"/>
<th:block th:include="include :: select2-js"/>
<th:block th:include="include :: bootstrap-table-editable-js"/>
<script th:inline="javascript">
var prefix = ctx + "storehouse/warehousingInspectionNotice";
$("#form-warehousingInspectionNotice-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-warehousingInspectionNotice-edit').serialize());
}
}
$("input[name='inspectionDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='warehousingDate']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$(".file-upload").each(function (i) {
var val = $("input[name='" + this.id + "']").val()
$(this).fileinput({
'uploadUrl': ctx + 'common/upload',
initialPreviewAsData: true,
initialPreview: [val],
maxFileCount: 1,
autoReplace: true
}).on('fileuploaded', function (event, data, previewId, index) {
$("input[name='" + event.currentTarget.id + "']").val(data.response.url)
}).on('fileremoved', function (event, id, index) {
$("input[name='" + event.currentTarget.id + "']").val('')
})
$(this).fileinput('_initFileActions');
});
</script>
</body>
</html>

182
ruoyi-admin/target/classes/templates/storehouse/warehousingInspectionNotice/warehousingInspectionNotice.html

@ -0,0 +1,182 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('入库检验通知列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>入通知单号:</label>
<input type="text" name="inNoticeNumber"/>
</li>
<li>
<label>订购单号:</label>
<select name="purchaseOrderNumber">
<option value="">所有</option>
<option value="-1">代码生成请选择字典属性</option>
</select>
</li>
<li>
<label>供应商代码:</label>
<input type="text" name="supplierCode"/>
</li>
<li>
<label>供应商名称:</label>
<input type="text" name="supplierName"/>
</li>
<li>
<label>入库类别:</label>
<select name="warehousingCategory" th:with="type=${@dict.getType('warehousing_category')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li class="select-time">
<label>入库日期:</label>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginWarehousingDate]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endWarehousingDate]"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="storehouse:warehousingInspectionNotice:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="storehouse:warehousingInspectionNotice:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="storehouse:warehousingInspectionNotice:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="storehouse:warehousingInspectionNotice:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('storehouse:warehousingInspectionNotice:edit')}]];
var removeFlag = [[${@permission.hasPermi('storehouse:warehousingInspectionNotice:remove')}]];
var exportSalesDatas = [[${@dict.getType('sys_export_sales')}]];
var warehousingCategoryDatas = [[${@dict.getType('warehousing_category')}]];
var prefix = ctx + "storehouse/warehousingInspectionNotice";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "入库检验通知",
columns: [{
checkbox: true
},
{
field: 'warehousingInspectionNoticeId',
title: '入库检验通知id',
visible: false
},
{
field: 'inNoticeNumber',
title: '入通知单号'
},
{
field: 'purchaseOrderNumber',
title: '订购单号'
},
{
field: 'supplierCode',
title: '供应商代码'
},
{
field: 'supplierName',
title: '供应商名称'
},
{
field: 'customerContact',
title: '联系人'
},
{
field: 'stockNumber',
title: '仓库编号'
},
{
field: 'stockName',
title: '仓库名称'
},
{
field: 'stockManager',
title: '仓库管理员'
},
{
field: 'exportSales',
title: '内外销',
formatter: function(value, row, index) {
return $.table.selectDictLabel(exportSalesDatas, value);
}
},
{
field: 'warehousingCategory',
title: '入库类别',
formatter: function(value, row, index) {
return $.table.selectDictLabel(warehousingCategoryDatas, value);
}
},
{
field: 'inspectionDate',
title: '交检日期'
},
{
field: 'warehousingDate',
title: '入库日期'
},
{
field: 'remarks',
title: '备注'
},
{
field: 'inspectionReport',
title: '检验报告'
},
{
field: 'firstAddTime',
title: '录入时间'
},
{
field: 'updateInfoTime',
title: '修改时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.warehousingInspectionNoticeId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.warehousingInspectionNoticeId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

99
ruoyi-admin/target/classes/templates/system/bomBcp/add.html

@ -0,0 +1,99 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增bom半成品')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-bomBcp-add">
<div class="form-group">
<label class="col-sm-3 control-label">成品代码:</label>
<div class="col-sm-8">
<input name="finishProductCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">版本号:</label>
<div class="col-sm-8">
<input name="versionNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">半成品代码:</label>
<div class="col-sm-8">
<input name="bcpCode" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">半成品名称:</label>
<div class="col-sm-8">
<input name="bcpName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">规格型号:</label>
<div class="col-sm-8">
<input name="specificationModel" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<select name="inventoryUnit" class="form-control m-b" th:with="type=${@dict.getType('sys_unit_class')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">用量:</label>
<div class="col-sm-8">
<input name="bcpMaterialConsumption" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">损耗%:</label>
<div class="col-sm-8">
<input name="bcpMaterialLoss" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">厂商料号:</label>
<div class="col-sm-8">
<input name="supplierNumber" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">成品数量:</label>
<div class="col-sm-8">
<input name="finishedProductQuantity" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注说明:</label>
<div class="col-sm-8">
<input name="remarks" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">加工类别:</label>
<div class="col-sm-8">
<input name="processingCategory" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "system/bomBcp"
$("#form-bomBcp-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-bomBcp-add').serialize());
}
}
</script>
</body>
</html>

181
ruoyi-admin/target/classes/templates/system/bomBcp/bomBcp.html

@ -0,0 +1,181 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('bom半成品列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>成品代码:</label>
<input type="text" name="finishProductCode"/>
</li>
<li>
<label>版本号:</label>
<input type="text" name="versionNumber"/>
</li>
<li>
<label>半成品代码:</label>
<input type="text" name="bcpCode"/>
</li>
<li>
<label>半成品名称:</label>
<input type="text" name="bcpName"/>
</li>
<li>
<label>规格型号:</label>
<input type="text" name="specificationModel"/>
</li>
<li>
<label>单位:</label>
<select name="inventoryUnit" th:with="type=${@dict.getType('sys_unit_class')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>用量:</label>
<input type="text" name="bcpMaterialConsumption"/>
</li>
<li>
<label>损耗%:</label>
<input type="text" name="bcpMaterialLoss"/>
</li>
<li>
<label>厂商料号:</label>
<input type="text" name="supplierNumber"/>
</li>
<li>
<label>成品数量:</label>
<input type="text" name="finishedProductQuantity"/>
</li>
<li>
<label>备注说明:</label>
<input type="text" name="remarks"/>
</li>
<li>
<label>加工类别:</label>
<input type="text" name="processingCategory"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:bomBcp:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:bomBcp:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:bomBcp:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:bomBcp:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('system:bomBcp:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:bomBcp:remove')}]];
var inventoryUnitDatas = [[${@dict.getType('sys_unit_class')}]];
var prefix = ctx + "system/bomBcp";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "bom半成品",
columns: [{
checkbox: true
},
{
field: 'bomBcpId',
title: 'bom半成品id',
visible: false
},
{
field: 'finishProductCode',
title: '成品代码'
},
{
field: 'versionNumber',
title: '版本号'
},
{
field: 'bcpCode',
title: '半成品代码'
},
{
field: 'bcpName',
title: '半成品名称'
},
{
field: 'specificationModel',
title: '规格型号'
},
{
field: 'inventoryUnit',
title: '单位',
formatter: function(value, row, index) {
return $.table.selectDictLabel(inventoryUnitDatas, value);
}
},
{
field: 'bcpMaterialConsumption',
title: '用量'
},
{
field: 'bcpMaterialLoss',
title: '损耗%'
},
{
field: 'supplierNumber',
title: '厂商料号'
},
{
field: 'finishedProductQuantity',
title: '成品数量'
},
{
field: 'remarks',
title: '备注说明'
},
{
field: 'processingCategory',
title: '加工类别'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.bomBcpId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.bomBcpId + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>

100
ruoyi-admin/target/classes/templates/system/bomBcp/edit.html

@ -0,0 +1,100 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改bom半成品')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-bomBcp-edit" th:object="${sysBomBcp}">
<input name="bomBcpId" th:field="*{bomBcpId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">成品代码:</label>
<div class="col-sm-8">
<input name="finishProductCode" th:field="*{finishProductCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">版本号:</label>
<div class="col-sm-8">
<input name="versionNumber" th:field="*{versionNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">半成品代码:</label>
<div class="col-sm-8">
<input name="bcpCode" th:field="*{bcpCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">半成品名称:</label>
<div class="col-sm-8">
<input name="bcpName" th:field="*{bcpName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">规格型号:</label>
<div class="col-sm-8">
<input name="specificationModel" th:field="*{specificationModel}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<select name="inventoryUnit" class="form-control m-b" th:with="type=${@dict.getType('sys_unit_class')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{inventoryUnit}"></option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">用量:</label>
<div class="col-sm-8">
<input name="bcpMaterialConsumption" th:field="*{bcpMaterialConsumption}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">损耗%:</label>
<div class="col-sm-8">
<input name="bcpMaterialLoss" th:field="*{bcpMaterialLoss}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">厂商料号:</label>
<div class="col-sm-8">
<input name="supplierNumber" th:field="*{supplierNumber}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">成品数量:</label>
<div class="col-sm-8">
<input name="finishedProductQuantity" th:field="*{finishedProductQuantity}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注说明:</label>
<div class="col-sm-8">
<input name="remarks" th:field="*{remarks}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">加工类别:</label>
<div class="col-sm-8">
<input name="processingCategory" th:field="*{processingCategory}" class="form-control" type="text">
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "system/bomBcp";
$("#form-bomBcp-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-bomBcp-edit').serialize());
}
}
</script>
</body>
</html>
Loading…
Cancel
Save