diff --git a/ant-design-vue-jeecg/src/views/hanger/HangRecordList.vue b/ant-design-vue-jeecg/src/views/hanger/HangRecordList.vue index 41d12dc2..8976d2d3 100644 --- a/ant-design-vue-jeecg/src/views/hanger/HangRecordList.vue +++ b/ant-design-vue-jeecg/src/views/hanger/HangRecordList.vue @@ -106,6 +106,11 @@ export default { return parseInt(index) + 1; } }, + { + title: '工单编号', + align: "center", + dataIndex: 'orderCode' + }, { title: '吊挂编号', align: "center", @@ -131,6 +136,11 @@ export default { align: "center", dataIndex: 'duration' }, + { + title: '创建时间', + align: "center", + dataIndex: 'createTime' + }, { title: '状态', align: "center", diff --git a/ant-design-vue-jeecg/src/views/hanger/HangerManage.vue b/ant-design-vue-jeecg/src/views/hanger/HangerManage.vue index 27d3b560..7a8cb1d3 100644 --- a/ant-design-vue-jeecg/src/views/hanger/HangerManage.vue +++ b/ant-design-vue-jeecg/src/views/hanger/HangerManage.vue @@ -6,6 +6,7 @@
{ + putAction(this.url.syncHangRecord, {"hangCode": this.code}).then((res) => { if (res.success) { this.$message.success("操作成功"); } else { @@ -264,7 +267,7 @@ export default { console.log("handleSelectRowChange-event:", event) const {type, row, column, value, target, $table} = event console.log("stationIdList", JSON.stringify(this.stationIdList)); - target.$refs.vxe.columns[6].options = this.stationIdList; + target.$refs.vxe.columns[7].options = this.stationIdList; }, /** 当选项被改变时,联动其他组件 */ diff --git a/ant-design-vue-jeecg/src/views/product/pdaccessories/ProductAccessoriesList.vue b/ant-design-vue-jeecg/src/views/product/pdaccessories/ProductAccessoriesList.vue index 17a12e2c..9f8ba355 100644 --- a/ant-design-vue-jeecg/src/views/product/pdaccessories/ProductAccessoriesList.vue +++ b/ant-design-vue-jeecg/src/views/product/pdaccessories/ProductAccessoriesList.vue @@ -28,7 +28,7 @@
- 返回 + 返回 @@ -194,7 +194,7 @@ deleteBatch: "/pdaccessories/productAccessories/deleteBatch", exportXlsUrl: "/pdaccessories/productAccessories/exportXls", importExcelUrl: "pdaccessories/productAccessories/importExcel", - + }, dictOptions:{}, superFieldList:[], diff --git a/ant-design-vue-jeecg/src/views/product/pdfabric/ProductFabricList.vue b/ant-design-vue-jeecg/src/views/product/pdfabric/ProductFabricList.vue index ca848817..9a9faa28 100644 --- a/ant-design-vue-jeecg/src/views/product/pdfabric/ProductFabricList.vue +++ b/ant-design-vue-jeecg/src/views/product/pdfabric/ProductFabricList.vue @@ -42,7 +42,7 @@ - 返回 + 返回
@@ -189,7 +189,7 @@ deleteBatch: "/pdfabric/productFabric/deleteBatch", exportXlsUrl: "/pdfabric/productFabric/exportXls", importExcelUrl: "pdfabric/productFabric/importExcel", - + }, dictOptions:{}, superFieldList:[], diff --git a/ant-design-vue-jeecg/src/views/product/productModule/ProductModuleList.vue b/ant-design-vue-jeecg/src/views/product/productModule/ProductModuleList.vue index a8f1e04f..dfd1c047 100644 --- a/ant-design-vue-jeecg/src/views/product/productModule/ProductModuleList.vue +++ b/ant-design-vue-jeecg/src/views/product/productModule/ProductModuleList.vue @@ -42,11 +42,6 @@
- - - - - - - - - 详情 - + + + + 详情 + 删除 @@ -94,123 +70,125 @@
+ \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/product/productModule/modules/ProductModuleDetail.vue b/ant-design-vue-jeecg/src/views/product/productModule/modules/ProductModuleDetail.vue new file mode 100644 index 00000000..bc449d7c --- /dev/null +++ b/ant-design-vue-jeecg/src/views/product/productModule/modules/ProductModuleDetail.vue @@ -0,0 +1,112 @@ + + + + + \ No newline at end of file diff --git a/ant-design-vue-jeecg/src/views/product/productProcess/ZyProductProcessList.vue b/ant-design-vue-jeecg/src/views/product/productProcess/ZyProductProcessList.vue index 903dff23..276ac22c 100644 --- a/ant-design-vue-jeecg/src/views/product/productProcess/ZyProductProcessList.vue +++ b/ant-design-vue-jeecg/src/views/product/productProcess/ZyProductProcessList.vue @@ -28,7 +28,7 @@
- 返回 + 返回 diff --git a/ant-design-vue-jeecg/src/views/productplan/ProductplanManage.vue b/ant-design-vue-jeecg/src/views/productplan/ProductplanManage.vue index e92dcd14..77870d39 100644 --- a/ant-design-vue-jeecg/src/views/productplan/ProductplanManage.vue +++ b/ant-design-vue-jeecg/src/views/productplan/ProductplanManage.vue @@ -33,6 +33,7 @@ 总计 ¥35,500

+
+
立即购买
+
+

说明

+

在线支付订单提交之后15分钟内未付款,订单将被系统自动取消,请您尽快完成支付以确保商品能及时送达,避免取消订单带来不必要的麻烦。

+
+
+

预计配送时间

+

我们将会在第一时间为您发货

+

所有现货商品在1-2个工作日发货,门店调货商品会视货品情况进行发货。

+

*定制商品除外

+

需要多长时间能够送达 ?

+

中国大陆:2-5个工作日(视货品情况而定)

@@ -201,6 +214,28 @@ }; diff --git a/ant-design-vue-jeecg/src/views/zyWorkProduct/ZyProductList.vue b/ant-design-vue-jeecg/src/views/zyWorkProduct/ZyProductList.vue index 788fc37b..40635641 100644 --- a/ant-design-vue-jeecg/src/views/zyWorkProduct/ZyProductList.vue +++ b/ant-design-vue-jeecg/src/views/zyWorkProduct/ZyProductList.vue @@ -356,7 +356,7 @@ }, //操作:工序、模块、面料、辅料、设备、工具,提供入口,具体功能由相关功能负责人完成 - //跳转-模块 + //跳转-工序 jumpProcesses(record) { this.$router.push({ diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/controller/HangRecordController.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/controller/HangRecordController.java index 6dff3325..3b7ddada 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/controller/HangRecordController.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/controller/HangRecordController.java @@ -11,6 +11,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.hanger.entity.HangRecord; +import org.jeecg.modules.hanger.entity.ZyHangPoint; import org.jeecg.modules.hanger.service.IHangRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -56,6 +57,18 @@ public class HangRecordController extends JeecgController syncHangRecord(@RequestBody HangRecord hangRecord) { + hangRecordService.syncHangRecord(hangRecord); + return Result.OK(); + } + /** * 添加 * diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/controller/ZyHangPointController.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/controller/ZyHangPointController.java index 71b9df59..ca6c66dd 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/controller/ZyHangPointController.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/controller/ZyHangPointController.java @@ -65,14 +65,6 @@ public class ZyHangPointController extends JeecgController syncHangRecord(ZyHangPoint zyHangPoint) { - zyHangPointService.syncHangRecord(zyHangPoint); - return Result.OK(); - } - - @ApiOperation(value = "吊挂工位表-工站、工位绑定批量添加", notes = "吊挂工位表-工站、工位绑定批量添加") @PostMapping(value = "/addBatch") public Result addBatch(@RequestBody List pointList) { diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/entity/HangRecord.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/entity/HangRecord.java index f4eea4fc..1b0e4d66 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/entity/HangRecord.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/entity/HangRecord.java @@ -100,12 +100,12 @@ public class HangRecord implements Serializable { */ @Excel(name = "时长", width = 15) @ApiModelProperty(value = "时长") - private Integer duration; + private String duration; /** * 状态 */ @Excel(name = "状态", width = 15) @ApiModelProperty(value = "状态") @Dict(dicCode = "hang_record_status") - private Integer status; + private String status; } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/IHangRecordService.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/IHangRecordService.java index 7599dca0..da40da0e 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/IHangRecordService.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/IHangRecordService.java @@ -11,5 +11,5 @@ import org.jeecg.modules.hanger.entity.HangRecord; * @Version: V1.0 */ public interface IHangRecordService extends IService { - + void syncHangRecord(HangRecord hangRecord); } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/IZyHangPointService.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/IZyHangPointService.java index 6b591a85..e865e726 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/IZyHangPointService.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/IZyHangPointService.java @@ -17,6 +17,4 @@ public interface IZyHangPointService extends IService { String getLastPointCode(); void addBatch(List pointList); - - void syncHangRecord(ZyHangPoint zyHangPoint); } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/impl/HangRecordServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/impl/HangRecordServiceImpl.java index 9c222347..c0d692df 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/impl/HangRecordServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/impl/HangRecordServiceImpl.java @@ -1,11 +1,28 @@ package org.jeecg.modules.hanger.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.modules.demo.productrecord.entity.ProductRecord; +import org.jeecg.modules.demo.productrecord.service.IProductRecordService; import org.jeecg.modules.hanger.entity.HangRecord; +import org.jeecg.modules.hanger.entity.ZyHang; +import org.jeecg.modules.hanger.entity.ZyHangPoint; import org.jeecg.modules.hanger.mapper.HangRecordMapper; import org.jeecg.modules.hanger.service.IHangRecordService; +import org.jeecg.modules.hanger.service.IZyHangPointService; +import org.jeecg.modules.hanger.service.IZyHangService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; + +import java.util.Date; +import java.util.LinkedList; +import java.util.List; +import java.util.Optional; /** * @Description: 吊挂运行记录表 @@ -16,4 +33,62 @@ import org.springframework.stereotype.Service; @Service public class HangRecordServiceImpl extends ServiceImpl implements IHangRecordService { + @Autowired + private IZyHangService iZyHangService; + + @Autowired + private IZyHangPointService iZyHangPointService; + + @Autowired + private IProductRecordService iProductRecordService; + + @Override + @Transactional(readOnly = false, rollbackFor = Exception.class) + public void syncHangRecord(HangRecord hangRecord) { + ZyHang one = iZyHangService.getOne(new LambdaQueryWrapper().eq(ZyHang::getCode, hangRecord.getHangCode())); + Optional.ofNullable(one).orElseThrow(() -> new JeecgBootException("吊挂不存在!")); + + List pointList = iZyHangPointService.list(new LambdaQueryWrapper().eq(ZyHangPoint::getCode, hangRecord.getHangCode())); + //没有配置工站时,不同步运行记录 + if (ObjectUtils.isEmpty(pointList)) return; + + //查询每一工站是否已有同步过的工站运行记录数据, + // 有同步过则根据生产记录表创建时间为条件增量同步, + // 未同步过则全量同步 + pointList.forEach(e -> { + List saveList; + List pointRecordList = this.list(new LambdaQueryWrapper() + .eq(HangRecord::getHangCode, hangRecord.getHangCode()) + .eq(HangRecord::getPoint, e.getPoint()) + .orderByDesc(HangRecord::getCreateTime) + ); + if (!ObjectUtils.isEmpty(pointRecordList)) {//该工站已同步过,增量同步 + Date createTime = pointRecordList.get(0).getCreateTime(); + List productRecords = iProductRecordService.list(new LambdaQueryWrapper() + .eq(ProductRecord::getStationId, e.getStationId()) + .gt(ProductRecord::getCreateTime, createTime) + ); + saveList = this.convertHangRecord(one.getCode(), e.getPoint(), productRecords); + } else {//该工站未同步过 + List productRecords = iProductRecordService.list(new LambdaQueryWrapper() + .eq(ProductRecord::getStationId, e.getStationId()) + ); + saveList = this.convertHangRecord(one.getCode(), e.getPoint(), productRecords); + } + this.saveBatch(saveList); + }); + } + + private List convertHangRecord(final String hangCode, final String point, List productRecords) { + List saveList = new LinkedList<>(); + Optional.ofNullable(productRecords).orElse(new LinkedList<>()).forEach(obj -> { + HangRecord hangRecord1 = new HangRecord(); + BeanUtils.copyProperties(obj, hangRecord1); + hangRecord1.setHangCode(hangCode); + hangRecord1.setPoint(point); + hangRecord1.setId(null); + saveList.add(hangRecord1); + }); + return saveList; + } } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/impl/ZyHangPointServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/impl/ZyHangPointServiceImpl.java index 10d3d79f..a6efbe98 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/impl/ZyHangPointServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/hanger/service/impl/ZyHangPointServiceImpl.java @@ -4,12 +4,9 @@ package org.jeecg.modules.hanger.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; -import org.jeecg.common.exception.JeecgBootException; -import org.jeecg.modules.hanger.entity.ZyHang; import org.jeecg.modules.hanger.entity.ZyHangPoint; import org.jeecg.modules.hanger.mapper.ZyHangPointMapper; import org.jeecg.modules.hanger.service.IZyHangPointService; -import org.jeecg.modules.hanger.service.IZyHangService; import org.jeecg.modules.team.entity.Station; import org.jeecg.modules.team.service.IStationService; import org.springframework.beans.factory.annotation.Autowired; @@ -32,9 +29,6 @@ public class ZyHangPointServiceImpl extends ServiceImpl pointList = this.list(new LambdaQueryWrapper().orderByDesc(ZyHangPoint::getPoint)); @@ -63,11 +57,4 @@ public class ZyHangPointServiceImpl extends ServiceImpl().eq(ZyHang::getCode, zyHangPoint.getCode())); - Optional.ofNullable(zyHang).orElseThrow(() -> new JeecgBootException(zyHangPoint.getCode() + "不存在")); - //TODO - } } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/productModule/entity/ProductModule.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/productModule/entity/ProductModule.java index 534f93ce..e9c9b529 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/productModule/entity/ProductModule.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/product/productModule/entity/ProductModule.java @@ -2,6 +2,7 @@ package org.jeecg.modules.product.productModule.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -43,31 +44,38 @@ public class ProductModule implements Serializable { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建日期") private Date createTime; -// /**更新人*/ -// @ApiModelProperty(value = "更新人") -// private String updateBy; -// /**更新日期*/ -// @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") -// @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") -// @ApiModelProperty(value = "更新日期") -// private Date updateTime; -// /**所属部门*/ -// @ApiModelProperty(value = "所属部门") -// private String sysOrgCode; - /**产品id*/ + + /** + * 产品id 应该是产品编号 + * 关联产品表 zy_product ZyProductList.vue ZyProduct.java + */ @Excel(name = "产品id", width = 15) @ApiModelProperty(value = "产品id") private String productId; - /**款式模块id*/ + + @TableField(exist = false) + private String productName; + /** + * 款式模块id 应该是模块编号 + * 关联款式模块表 zy_style_module + * 款式表联动,筛选款式模块表数据 + */ @Excel(name = "款式模块id", width = 15) @ApiModelProperty(value = "款式模块id") private String styleModuleId; - /**模块id*/ + /** + * 模块id 应该是模块名称 + * 关联制衣模块表 zy_cloths_modular + * 从款式模块表同步读取 + */ @Excel(name = "模块名称", width = 15) @Dict(dictTable = "zy_cloths_modular ", dicText = "modular_name", dicCode = "id") @ApiModelProperty(value = "模块名称") private String moduleId; - /**部位*/ + /** + * 暂时弃用 + * 部位 + */ @Excel(name = "部位", width = 15) @ApiModelProperty(value = "部位") private String place;