diff --git a/.gitignore b/.gitignore index dc08aa2..ac85078 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,7 @@ target/ *.iws *.iml *.ipr -.idea/workspace.xml +#.idea/workspace.xml .idea/compiler.xml diff --git a/.idea/MyBatisCodeHelperDatasource.xml b/.idea/MyBatisCodeHelperDatasource.xml index 53220ff..26774c4 100644 --- a/.idea/MyBatisCodeHelperDatasource.xml +++ b/.idea/MyBatisCodeHelperDatasource.xml @@ -5,9 +5,9 @@ <ProjectProfile> <option name="addSerializeUid" value="true" /> <option name="generateService" value="true" /> - <option name="javaMapperPackage" value="com.huaheng.pc.shipment.wave.mapper" /> + <option name="javaMapperPackage" value="com.huaheng.pc.inventory.adjust.mapper" /> <option name="javaMapperPath" value="$PROJECT_DIR$/src/main/java" /> - <option name="javaModelPackage" value="com.huaheng.pc.shipment.wave.domain" /> + <option name="javaModelPackage" value="com.huaheng.pc.inventory.adjust.domain" /> <option name="javaModelPath" value="$PROJECT_DIR$/src/main/java" /> <option name="lastDatabaseCrudChooseModuleName" value="huaheng" /> <option name="moduleNameToPackageAndPathMap"> @@ -29,13 +29,13 @@ <entry key="huaheng"> <value> <UserPackageAndPathInfoByModule> - <option name="javaMapperPackage" value="com.huaheng.pc.shipment.wave.mapper" /> + <option name="javaMapperPackage" value="com.huaheng.pc.inventory.adjust.mapper" /> <option name="javaMapperPath" value="$PROJECT_DIR$/src/main/java" /> - <option name="javaModelPacakge" value="com.huaheng.pc.shipment.wave.domain" /> + <option name="javaModelPacakge" value="com.huaheng.pc.inventory.adjust.domain" /> <option name="javaModelPath" value="$PROJECT_DIR$/src/main/java" /> - <option name="javaServicePackage" value="com.huaheng.pc.shipment.wave.service" /> + <option name="javaServicePackage" value="com.huaheng.pc.inventory.adjust.service" /> <option name="javaServicePath" value="$PROJECT_DIR$/src/main/java" /> - <option name="xmlPackage" value="shipment" /> + <option name="xmlPackage" value="inventory" /> <option name="xmlPath" value="E:\code\wms2\src\main\resources\mybatis" /> </UserPackageAndPathInfoByModule> </value> @@ -45,6 +45,26 @@ <option name="mybatisPlusStaticField" value="false" /> <option name="tableGenerateConfigs"> <map> + <entry key="wms_v2:adjust_detail"> + <value> + <TableGenerateConfig> + <option name="generatedKey" value="id" /> + <option name="javaModelName" value="AdjustDetail" /> + <option name="moduleName" value="huaheng" /> + <option name="useActualColumnName" value="true" /> + </TableGenerateConfig> + </value> + </entry> + <entry key="wms_v2:adjust_header"> + <value> + <TableGenerateConfig> + <option name="generatedKey" value="id" /> + <option name="javaModelName" value="AdjustHeader" /> + <option name="moduleName" value="huaheng" /> + <option name="useActualColumnName" value="true" /> + </TableGenerateConfig> + </value> + </entry> <entry key="wms_v2:alarm_level"> <value> <TableGenerateConfig> @@ -285,6 +305,26 @@ </TableGenerateConfig> </value> </entry> + <entry key="wms_v2:receipt_detail_history"> + <value> + <TableGenerateConfig> + <option name="generatedKey" value="id" /> + <option name="javaModelName" value="ReceiptDetailHistory" /> + <option name="moduleName" value="huaheng" /> + <option name="useActualColumnName" value="true" /> + </TableGenerateConfig> + </value> + </entry> + <entry key="wms_v2:receipt_header_history"> + <value> + <TableGenerateConfig> + <option name="generatedKey" value="id" /> + <option name="javaModelName" value="ReceiptHeaderHistory" /> + <option name="moduleName" value="huaheng" /> + <option name="useActualColumnName" value="true" /> + </TableGenerateConfig> + </value> + </entry> <entry key="wms_v2:receipt_preference"> <value> <TableGenerateConfig> @@ -511,7 +551,7 @@ <option name="useLomBokOnModel" value="true" /> <option name="useSwagger" value="true" /> <option name="userMybatisPlus" value="true" /> - <option name="xmlMapperPackage" value="shipment" /> + <option name="xmlMapperPackage" value="inventory" /> <option name="xmlMapperPath" value="E:\code\wms2\src\main\resources\mybatis" /> </ProjectProfile> </option> diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml index 9e49997..07bbd8e 100644 --- a/.idea/dataSources.xml +++ b/.idea/dataSources.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="DataSourceManagerImpl" format="xml" multifile-model="true"> - <data-source source="LOCAL" name="@172.16.29.45" uuid="2845c0bf-201c-4178-b161-2bab8cfbfe5d"> + <data-source source="LOCAL" name="@172.16.29.45" uuid="5e014158-5749-424f-a74a-1c32e588e60f"> <driver-ref>mysql.8</driver-ref> <synchronize>true</synchronize> <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver> diff --git a/src/main/java/com/huaheng/pc/config/materialType/domain/MaterialType.java b/src/main/java/com/huaheng/pc/config/materialType/domain/MaterialType.java new file mode 100644 index 0000000..30ac59b --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/materialType/domain/MaterialType.java @@ -0,0 +1,263 @@ +package com.huaheng.pc.config.materialType.domain; + +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +@ApiModel(value="com.huaheng.pc.config.materialType.domain.MaterialType") +@Data +@TableName(value = "material_type") +public class MaterialType implements Serializable { + /** + * ID + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="ID") + private Integer id; + + /** + * 编码 + */ + @TableField(value = "code") + @ApiModelProperty(value="编码") + private String code; + + /** + * 名称 + */ + @TableField(value = "name") + @ApiModelProperty(value="名称") + private String name; + + /** + * 货主编码 + */ + @TableField(value = "companyCode") + @ApiModelProperty(value="货主编码") + private String companyCode; + + /** + * 仓库编码 + */ + @TableField(value = "warehouseCode") + @ApiModelProperty(value="仓库编码") + private String warehouseCode; + + /** + * ABC分类 + */ + @TableField(value = "abcClass") + @ApiModelProperty(value="ABC分类") + private String abcClass; + + /** + * 保质期(天) + */ + @TableField(value = "daysToExpire") + @ApiModelProperty(value="保质期(天)") + private Integer daysToExpire; + + /** + * 入库流程 + */ + @TableField(value = "receivingFlow") + @ApiModelProperty(value="入库流程") + private String receivingFlow; + + /** + * 出库流程 + */ + @TableField(value = "shippingFlow") + @ApiModelProperty(value="出库流程") + private String shippingFlow; + + /** + * 定位规则 + */ + @TableField(value = "locatingRule") + @ApiModelProperty(value="定位规则") + private String locatingRule; + + /** + * 分配规则 + */ + @TableField(value = "allocationRule") + @ApiModelProperty(value="分配规则") + private String allocationRule; + + /** + * 补货规则 + */ + @TableField(value = "replenishmentRule") + @ApiModelProperty(value="补货规则") + private String replenishmentRule; + + /** + * 空货位规则 + */ + @TableField(value = "emptyLocRule") + @ApiModelProperty(value="空货位规则") + private String emptyLocRule; + + /** + * 拣货规则 + */ + @TableField(value = "pickingRule") + @ApiModelProperty(value="拣货规则") + private String pickingRule; + + /** + * 属性模版 + */ + @TableField(value = "attributeTemplateCode") + @ApiModelProperty(value="属性模版") + private String attributeTemplateCode; + + /** + * 记录序列号 + */ + @TableField(value = "trackSerialNum") + @ApiModelProperty(value="记录序列号") + private Integer trackSerialNum; + + /** + * 自动生成序列号 + */ + @TableField(value = "autoGenSerialNum") + @ApiModelProperty(value="自动生成序列号") + private Integer autoGenSerialNum; + + /** + * 自动生成序列号表达式 + */ + @TableField(value = "autoGenSerialNumFormat") + @ApiModelProperty(value="自动生成序列号表达式") + private String autoGenSerialNumFormat; + + /** + * 序列号模版 + */ + @TableField(value = "snTemplateCode") + @ApiModelProperty(value="序列号模版") + private String snTemplateCode; + + /** + * 临期预警天数 + */ + @TableField(value = "expiringDays") + @ApiModelProperty(value="临期预警天数") + private Integer expiringDays; + + /** + * 收货预警天数 + */ + @TableField(value = "minShelfLifeDays") + @ApiModelProperty(value="收货预警天数") + private Integer minShelfLifeDays; + + /** + * 状态 + */ + @TableField(value = "enable") + @ApiModelProperty(value="状态") + private Integer enable; + + /** + * 创建时间 + */ + @TableField(value = "created") + @ApiModelProperty(value="创建时间") + private Date created; + + /** + * 创建用户 + */ + @TableField(value = "createdBy") + @ApiModelProperty(value="创建用户") + private String createdBy; + + /** + * 创建时间 + */ + @TableField(value = "lastUpdated") + @ApiModelProperty(value="创建时间") + private Date lastUpdated; + + /** + * 更新用户 + */ + @TableField(value = "lastUpdatedBy") + @ApiModelProperty(value="更新用户") + private String lastUpdatedBy; + + /** + * 数据版本 + */ + @TableField(value = "version") + @ApiModelProperty(value="数据版本") + private Integer version; + + /** + * 是否AGV区域发货 + */ + @TableField(value = "userDef1") + @ApiModelProperty(value="是否AGV区域发货") + private String userDef1; + + /** + * 自定义字段2 + */ + @TableField(value = "userDef2") + @ApiModelProperty(value="自定义字段2") + private String userDef2; + + /** + * 商品同步标识 + */ + @TableField(value = "userDef3") + @ApiModelProperty(value="商品同步标识") + private String userDef3; + + /** + * 自定义字段4 + */ + @TableField(value = "userDef4") + @ApiModelProperty(value="自定义字段4") + private String userDef4; + + /** + * 自定义字段5 + */ + @TableField(value = "userDef5") + @ApiModelProperty(value="自定义字段5") + private String userDef5; + + /** + * 自定义字段6 + */ + @TableField(value = "userDef6") + @ApiModelProperty(value="自定义字段6") + private String userDef6; + + /** + * 自定义字段7 + */ + @TableField(value = "userDef7") + @ApiModelProperty(value="自定义字段7") + private String userDef7; + + /** + * 自定义字段8 + */ + @TableField(value = "userDef8") + @ApiModelProperty(value="自定义字段8") + private String userDef8; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/materialType/mapper/MaterialTypeMapper.java b/src/main/java/com/huaheng/pc/config/materialType/mapper/MaterialTypeMapper.java new file mode 100644 index 0000000..0697b88 --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/materialType/mapper/MaterialTypeMapper.java @@ -0,0 +1,7 @@ +package com.huaheng.pc.config.materialType.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.config.materialType.domain.MaterialType; + +public interface MaterialTypeMapper extends BaseMapper<MaterialType> { +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/materialType/service/MaterialTypeService.java b/src/main/java/com/huaheng/pc/config/materialType/service/MaterialTypeService.java new file mode 100644 index 0000000..c08bd9e --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/materialType/service/MaterialTypeService.java @@ -0,0 +1,12 @@ +package com.huaheng.pc.config.materialType.service; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.pc.config.materialType.domain.MaterialType; +import com.huaheng.pc.config.materialType.mapper.MaterialTypeMapper; +@Service +public class MaterialTypeService extends ServiceImpl<MaterialTypeMapper, MaterialType> { + +} diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java b/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java index 8962fdd..3622ce4 100644 --- a/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java +++ b/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java @@ -15,7 +15,9 @@ import com.huaheng.framework.web.page.PageDomain; import com.huaheng.framework.web.page.TableDataInfo; import com.huaheng.framework.web.page.TableSupport; import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail; +import com.huaheng.pc.config.statusFlow.domain.StatusFlowHeader; import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService; +import com.huaheng.pc.config.statusFlow.service.StatusFlowHeaderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -35,6 +37,8 @@ public class StatusFlowDetailController extends BaseController { @Resource private StatusFlowDetailService statusFlowDetailService; + @Resource + private StatusFlowHeaderService statusFlowHeaderService; private String prefix = "config/statusFlowDetail"; @@ -70,7 +74,8 @@ public class StatusFlowDetailController extends BaseController { .eq(StringUtils.isNotEmpty(statusFlowDetail.getRecordType()), StatusFlowDetail::getRecordType, statusFlowDetail.getRecordType()) .eq(StringUtils.isNotNull(statusFlowDetail.getNessary()), - StatusFlowDetail::getNessary, statusFlowDetail.getNessary()); + StatusFlowDetail::getNessary, statusFlowDetail.getNessary()) + .orderByAsc(StatusFlowDetail::getSequence); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ /*使用分页查询*/ @@ -88,7 +93,9 @@ public class StatusFlowDetailController extends BaseController { */ @GetMapping("/add/{headerId}") public String add(@PathVariable("headerId")Integer headerId, ModelMap mmap) { + StatusFlowHeader statusFlowHeader = statusFlowHeaderService.getById(headerId); mmap.put("headerId",headerId); + mmap.put("headerCode", statusFlowHeader.getCode()); return prefix + "/add"; } diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowDetail.java b/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowDetail.java index 8219635..c6a424f 100644 --- a/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowDetail.java +++ b/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowDetail.java @@ -22,9 +22,13 @@ public class StatusFlowDetail implements Serializable { private Integer id; @TableField(value = "headerId") - @ApiModelProperty(value="null") + @ApiModelProperty(value="头表id") private Integer headerId; + @TableField(value = "headerCode") + @ApiModelProperty(value="头表编码") + private Integer headerCode; + /** * 状态流 */ diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowHeader.java b/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowHeader.java index 776a286..745b136 100644 --- a/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowHeader.java +++ b/src/main/java/com/huaheng/pc/config/statusFlow/domain/StatusFlowHeader.java @@ -25,14 +25,14 @@ public class StatusFlowHeader implements Serializable { * 状态流 */ @TableField(value = "code") - @ApiModelProperty(value="状态流") + @ApiModelProperty(value="编码") private String code; /** * 状态流名称 */ @TableField(value = "name") - @ApiModelProperty(value="状态流名称") + @ApiModelProperty(value="名称") private String name; /** diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowDetailService.java b/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowDetailService.java index 2586d96..5108b8d 100644 --- a/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowDetailService.java +++ b/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowDetailService.java @@ -1,12 +1,22 @@ package com.huaheng.pc.config.statusFlow.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; +import java.util.WeakHashMap; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail; import com.huaheng.pc.config.statusFlow.mapper.StatusFlowDetailMapper; @Service public class StatusFlowDetailService extends ServiceImpl<StatusFlowDetailMapper, StatusFlowDetail> { + public List<StatusFlowDetail> queryStatusFlowDetail(String headerCode){ + LambdaQueryWrapper<StatusFlowDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.orderByAsc(StatusFlowDetail::getSequence) + .eq(StatusFlowDetail::getHeaderCode, headerCode); + return this.list(lambdaQueryWrapper); + } } diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowHeaderService.java b/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowHeaderService.java index 7772f6d..8c74ffa 100644 --- a/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowHeaderService.java +++ b/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowHeaderService.java @@ -1,10 +1,21 @@ package com.huaheng.pc.config.statusFlow.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.huaheng.pc.config.statusFlow.domain.StatusFlowHeader; import com.huaheng.pc.config.statusFlow.mapper.StatusFlowHeaderMapper; -@Service + +import java.util.List; +import java.util.Map; + +@Service("StatusFlow") public class StatusFlowHeaderService extends ServiceImpl<StatusFlowHeaderMapper, StatusFlowHeader> { + public List<Map<String, Object>> flowList(){ + LambdaQueryWrapper<StatusFlowHeader> lambda = Wrappers.lambdaQuery(); + lambda.select(StatusFlowHeader::getCode, StatusFlowHeader::getName); + return this.listMaps(lambda); + } } diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java new file mode 100644 index 0000000..7620d16 --- /dev/null +++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java @@ -0,0 +1,96 @@ +package com.huaheng.pc.inventory.adjustDetail.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.huaheng.common.utils.StringUtils; +import com.huaheng.common.utils.security.ShiroUtils; +import com.huaheng.framework.aspectj.lang.annotation.Log; +import com.huaheng.framework.aspectj.lang.constant.BusinessType; +import com.huaheng.framework.web.controller.BaseController; +import com.huaheng.framework.web.page.PageDomain; +import com.huaheng.framework.web.page.TableDataInfo; +import com.huaheng.framework.web.page.TableSupport; +import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail; +import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailService; + +import com.huaheng.pc.inventory.adjustHeader.service.AdjustHeaderService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import java.util.List; + + +@Controller +@RequestMapping("/inventory/adjustDetail") +public class adjustDetailController extends BaseController { + + + @Resource + private AdjustHeaderService adjustHeaderService; + @Resource + private AdjustDetailService adjustDetailService; + + + + private String prefix = "inventory/adjustDetail"; + + + //@RequiresPermissions("inventory:cycleCount:view") + @GetMapping() + public String adjustHeader() + { + return prefix + "/adjustDetail"; + } + + + /** + * 查询调整单主列表 + */ + //@RequiresPermissions("inventory:cycleCount:list") + @PostMapping("/list") + @Log(title = "库存-调整",operating = "查看调整明细单", action = BusinessType.GRANT) + @ResponseBody + public TableDataInfo list(AdjustDetail adjustDetail, String createdBegin, String createdEnd) { + LambdaQueryWrapper<AdjustDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + + lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), AdjustDetail::getCreated, createdBegin) + .le(StringUtils.isNotEmpty(createdEnd), AdjustDetail::getCreated, createdEnd)//创建时间范围 + .eq(AdjustDetail::getWarehouseCode, ShiroUtils.getWarehouseCode()) //仓库 + .eq(adjustDetail.getId() != null, AdjustDetail::getId, adjustDetail.getId())//ID + + + .orderByDesc(AdjustDetail::getId); + + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { + //分页查询 + Page<AdjustDetail> page = new Page<>(pageNum, pageSize); + IPage<AdjustDetail> iPage = adjustDetailService.page(page, lambdaQueryWrapper); + return getMpDataTable(iPage.getRecords(), iPage.getTotal()); + } else { + List<AdjustDetail> list = adjustDetailService.list(lambdaQueryWrapper); + return getDataTable(list); + } + } + + + + + + + + + + + + + +} diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java new file mode 100644 index 0000000..9014bf4 --- /dev/null +++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/domain/AdjustDetail.java @@ -0,0 +1,239 @@ +package com.huaheng.pc.inventory.adjustDetail.domain; + +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +@ApiModel(value="com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail") +@Data +@TableName(value = "adjust_detail") +public class AdjustDetail implements Serializable { + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="null") + private Integer id; + + /** + * 调整单号 + */ + @TableField(value = "adjustCode") + @ApiModelProperty(value="调整单号") + private String adjustCode; + + /** + * 盘点单号 + */ + @TableField(value = "cycleCountCode") + @ApiModelProperty(value="盘点单号") + private String cycleCountCode; + + /** + * 盘点单号行号 + */ + @TableField(value = "cycleDetailId") + @ApiModelProperty(value="盘点明细单号行号") + private Integer cycleDetailId; + + /** + * 质检单号 + */ + @TableField(value = "checkCode") + @ApiModelProperty(value="质检单号") + private String checkCode; + + /** + * 质检明细单号行号 + */ + @TableField(value = "checkDetailId") + @ApiModelProperty(value="质检明细单号行号") + private Integer checkDetailId; + + /** + * 调整关联单号 + */ + @TableField(value = "referCode") + @ApiModelProperty(value="调整关联单号") + private String referCode; + + /** + * 调整明细关联标识 + */ + @TableField(value = "referDetailId") + @ApiModelProperty(value="调整明细关联标识") + private Integer referDetailId; + + /** + * 仓库编码 + */ + @TableField(value = "warehouseCode") + @ApiModelProperty(value="仓库编码") + private String warehouseCode; + + /** + * 货主编码 + */ + @TableField(value = "companyCode") + @ApiModelProperty(value="货主编码") + private String companyCode; + + /** + * 商品编码 + */ + @TableField(value = "materialCode") + @ApiModelProperty(value="商品编码") + private String materialCode; + + /** + * 商品名称 + */ + @TableField(value = "materialName") + @ApiModelProperty(value="商品名称") + private String materialName; + + /** + * 商品规格 + */ + @TableField(value = "materialSpec") + @ApiModelProperty(value="商品规格") + private String materialSpec; + + /** + * 商品单位 + */ + @TableField(value = "materialUnit") + @ApiModelProperty(value="商品单位") + private String materialUnit; + + /** + * 1盘点 ,2 质检 ,3 调整 + */ + @TableField(value = "problemType") + @ApiModelProperty(value="1盘点 ,2 质检 ,3 调整") + private String problemType; + + /** + * 属性号 + */ + @TableField(value = "attributeId") + @ApiModelProperty(value="属性号") + private Integer attributeId; + + /** + * 调整前库存状态 + */ + @TableField(value = "fromInventorySts") + @ApiModelProperty(value="调整前库存状态") + private String fromInventorySts; + + /** + * 调整后库存状态 + */ + @TableField(value = "toInventorySts") + @ApiModelProperty(value="调整后库存状态") + private String toInventorySts; + + /** + * 调整前的数量 + */ + @TableField(value = "fromQty") + @ApiModelProperty(value="调整前的数量") + private Integer fromQty; + + /** + * 调整后的数量 + */ + @TableField(value = "toQty") + @ApiModelProperty(value="调整后的数量 ") + private Integer toQty; + + /** + * 调整变动数量 + */ + @TableField(value = "gapQty") + @ApiModelProperty(value="调整变动数量 ") + private Integer gapQty; + + /** + * 状态 -0-待调整 1-已调整 2-未批准 3-已批准 + */ + @TableField(value = "status") + @ApiModelProperty(value="状态 -0-待调整 1-已调整 2-未批准 3-已批准") + private Integer status; + + /** + * 创建时间 + */ + @TableField(value = "created") + @ApiModelProperty(value="创建时间") + private Date created; + + /** + * 创建人 + * */ + @TableField(value = "createdBy") + @ApiModelProperty(value = "createdBy") + private String createdBy; + + /** + * 审批时间 + */ + @TableField(value = "agreeTime") + @ApiModelProperty(value="审批时间") + private Date agreeTime; + + /** + * 审批人 + * */ + @TableField(value = "agreeBy") + @ApiModelProperty(value = "agreeBy") + private String agreeBy; + + /** + * 备注 + */ + @TableField(value = "Remark") + @ApiModelProperty(value="备注") + private String remark; + + /** + * 数据版本 + */ + @TableField(value = "version") + @ApiModelProperty(value="数据版本") + private Integer version; + + /** + * 自定义字段1 + */ + @TableField(value = "userDef1") + @ApiModelProperty(value="自定义字段1") + private String userDef1; + + /** + * 自定义字段2 + */ + @TableField(value = "userDef2") + @ApiModelProperty(value="自定义字段2") + private String userDef2; + + /** + * 自定义字段3 + */ + @TableField(value = "userDef3") + @ApiModelProperty(value="自定义字段3") + private String userDef3; + + /** + * 处理标记 + */ + @TableField(value = "processStamp") + @ApiModelProperty(value="处理标记") + private String processStamp; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/mapper/AdjustDetailMapper.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/mapper/AdjustDetailMapper.java new file mode 100644 index 0000000..12a45d9 --- /dev/null +++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/mapper/AdjustDetailMapper.java @@ -0,0 +1,7 @@ +package com.huaheng.pc.inventory.adjustDetail.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail; + +public interface AdjustDetailMapper extends BaseMapper<AdjustDetail> { +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailService.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailService.java new file mode 100644 index 0000000..cd088f4 --- /dev/null +++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailService.java @@ -0,0 +1,10 @@ +package com.huaheng.pc.inventory.adjustDetail.service; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail; +import com.huaheng.pc.inventory.adjustDetail.mapper.AdjustDetailMapper; +@Service +public class AdjustDetailService extends ServiceImpl<AdjustDetailMapper, AdjustDetail> { + +} diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java new file mode 100644 index 0000000..6c8e9c4 --- /dev/null +++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java @@ -0,0 +1,96 @@ +package com.huaheng.pc.inventory.adjustHeader.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.huaheng.common.utils.StringUtils; +import com.huaheng.common.utils.security.ShiroUtils; +import com.huaheng.framework.aspectj.lang.annotation.Log; +import com.huaheng.framework.aspectj.lang.constant.BusinessType; +import com.huaheng.framework.web.controller.BaseController; +import com.huaheng.framework.web.page.PageDomain; +import com.huaheng.framework.web.page.TableDataInfo; +import com.huaheng.framework.web.page.TableSupport; +import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailService; +import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader; +import com.huaheng.pc.inventory.adjustHeader.service.AdjustHeaderService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import java.util.List; + +@Controller +@RequestMapping("/inventory/adjustHeader") +public class adjustHeaderController extends BaseController { + + + @Resource + private AdjustHeaderService adjustHeaderService; + @Resource + private AdjustDetailService adjustDetailService; + + + + private String prefix = "inventory/adjustHeader"; + + + //@RequiresPermissions("inventory:cycleCount:view") + @GetMapping() + public String adjustHeader() + { + return prefix + "/adjustHeader"; + } + + + /** + * 查询调整单主列表 + */ + //@RequiresPermissions("inventory:cycleCount:list") + @PostMapping("/list") + @Log(title = "库存-调整",operating = "查看调整主单", action = BusinessType.GRANT) + @ResponseBody + public TableDataInfo list(AdjustHeader adjustHeader, String createdBegin, String createdEnd) { + LambdaQueryWrapper<AdjustHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + + lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), AdjustHeader::getCreated, createdBegin) + .le(StringUtils.isNotEmpty(createdEnd), AdjustHeader::getCreated, createdEnd)//创建时间范围 + .eq(AdjustHeader::getWarehouseCode, ShiroUtils.getWarehouseCode()) //仓库 + .eq(StringUtils.isNotEmpty(adjustHeader.getCode()),AdjustHeader::getCode,adjustHeader.getCode())//调整单编码 + .eq(StringUtils.isNotEmpty(adjustHeader.getCompanyCode()),AdjustHeader::getCompanyCode,adjustHeader.getCompanyCode())//货主 + .eq(StringUtils.isNotEmpty(adjustHeader.getProblemType()),AdjustHeader::getProblemType,adjustHeader.getProblemType())//调整类型 + .eq(StringUtils.isNotEmpty(adjustHeader.getCycleCountCode()),AdjustHeader::getCycleCountCode,adjustHeader.getCycleCountCode())//盘点单号 + .eq(StringUtils.isNotEmpty(adjustHeader.getCheckCode()),AdjustHeader::getCheckCode,adjustHeader.getCheckCode())//质检单号 + .eq(StringUtils.isNotEmpty(adjustHeader.getReferCode()),AdjustHeader::getReferCode,adjustHeader.getReferCode())//上游单编码 + .eq(StringUtils.isNotEmpty(adjustHeader.getCreatedBy()),AdjustHeader::getCreatedBy,adjustHeader.getCreatedBy())//创建人 + + .orderByDesc(AdjustHeader::getId); + + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { + //分页查询 + Page<AdjustHeader> page = new Page<>(pageNum, pageSize); + IPage<AdjustHeader> iPage = adjustHeaderService.page(page, lambdaQueryWrapper); + return getMpDataTable(iPage.getRecords(), iPage.getTotal()); + } else { + List<AdjustHeader> list = adjustHeaderService.list(lambdaQueryWrapper); + return getDataTable(list); + } + } + + + + + + + + + + +} diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/domain/AdjustHeader.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/domain/AdjustHeader.java new file mode 100644 index 0000000..5979634 --- /dev/null +++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/domain/AdjustHeader.java @@ -0,0 +1,127 @@ +package com.huaheng.pc.inventory.adjustHeader.domain; + +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +@ApiModel(value="com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader") +@Data +@TableName(value = "adjust_header") +public class AdjustHeader implements Serializable { + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="null") + private Integer id; + + /** + * 编码 + */ + @TableField(value = "code") + @ApiModelProperty(value="编码") + private String code; + + /** + * 仓库代码 + */ + @TableField(value = "warehouseCode") + @ApiModelProperty(value="仓库代码") + private String warehouseCode; + + /** + * 货主编码 + */ + @TableField(value = "companyCode") + @ApiModelProperty(value="货主编码") + private String companyCode; + + /** + * 1盘点 ,2 质检 ,3 调整 + */ + @TableField(value = "problemType") + @ApiModelProperty(value="1盘点 ,2 质检 ,3 调整") + private String problemType; + + /** + * 盘点单号 + */ + @TableField(value = "cycleCountCode") + @ApiModelProperty(value="盘点单号") + private String cycleCountCode; + + /** + * 质检单号 + */ + @TableField(value = "checkCode") + @ApiModelProperty(value="质检单号") + private String checkCode; + + /** + * 关联上游单号 + */ + @TableField(value = "referCode") + @ApiModelProperty(value="关联上游单号") + private String referCode; + + /** + * 关联上游系统原因说明 + */ + @TableField(value = "referReason") + @ApiModelProperty(value="关联上游系统原因说明") + private String referReason; + + /** + * 创建人 + */ + @TableField(value = "createdBy") + @ApiModelProperty(value="创建人") + private String createdBy; + + /** + * 创建时间 + */ + @TableField(value = "created") + @ApiModelProperty(value="创建时间") + private Date created; + + /** + * 数据版本 + */ + @TableField(value = "version") + @ApiModelProperty(value="数据版本") + private Integer version; + + /** + * 自定义字段1 + */ + @TableField(value = "userDef1") + @ApiModelProperty(value="自定义字段1") + private String userDef1; + + /** + * 自定义字段2 + */ + @TableField(value = "userDef2") + @ApiModelProperty(value="自定义字段2") + private String userDef2; + + /** + * 自定义字段3 + */ + @TableField(value = "userDef3") + @ApiModelProperty(value="自定义字段3") + private String userDef3; + + /** + * 处理标记 + */ + @TableField(value = "processStamp") + @ApiModelProperty(value="处理标记") + private String processStamp; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/mapper/AdjustHeaderMapper.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/mapper/AdjustHeaderMapper.java new file mode 100644 index 0000000..4e8fd0f --- /dev/null +++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/mapper/AdjustHeaderMapper.java @@ -0,0 +1,7 @@ +package com.huaheng.pc.inventory.adjustHeader.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader; + +public interface AdjustHeaderMapper extends BaseMapper<AdjustHeader> { +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java new file mode 100644 index 0000000..69cc150 --- /dev/null +++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java @@ -0,0 +1,10 @@ +package com.huaheng.pc.inventory.adjustHeader.service; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader; +import com.huaheng.pc.inventory.adjustHeader.mapper.AdjustHeaderMapper; +@Service +public class AdjustHeaderService extends ServiceImpl<AdjustHeaderMapper, AdjustHeader> { + +} diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java index f93c7d6..1f4e48d 100644 --- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java +++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java @@ -57,16 +57,32 @@ public class CycleCountDetailController extends BaseController { @Log(title = "库存-盘点",operating = "查看盘点明细", action = BusinessType.GRANT) @ResponseBody public TableDataInfo list(CycleCountDetail cycleCountDetail, String createdBegin, String createdEnd) { + LambdaQueryWrapper<CycleCountDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); - lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), CycleCountDetail::getCreated, createdBegin) + lambdaQueryWrapper.ge( + StringUtils.isNotEmpty(createdBegin), CycleCountDetail::getCreated, createdBegin) .le(StringUtils.isNotEmpty(createdEnd), CycleCountDetail::getCreated, createdEnd)//创建时间范围 .eq(CycleCountDetail::getWarehouseCode, ShiroUtils.getWarehouseCode()) //仓库 - - + .eq(cycleCountDetail.getCycleCountHeadId() != null ,CycleCountDetail::getCycleCountHeadId,cycleCountDetail.getCycleCountHeadId())//盘点主单 + .eq(StringUtils.isNotEmpty(cycleCountDetail.getCompanyCode()),CycleCountDetail::getCompanyCode, cycleCountDetail.getCompanyCode())//货主 + .eq(StringUtils.isNotEmpty(cycleCountDetail.getLocationCode()), CycleCountDetail::getLocationCode, cycleCountDetail.getLocationCode()) //库位 + .eq(StringUtils.isNotEmpty(cycleCountDetail.getContainerCode()), CycleCountDetail::getContainerCode,cycleCountDetail.getContainerCode()) //容器 + .eq(cycleCountDetail.getInventoryDetailId() != null, CycleCountDetail::getInventoryDetailId, cycleCountDetail.getInventoryDetailId())//库存明细ID + .eq(StringUtils.isNotEmpty(cycleCountDetail.getMaterialCode()), CycleCountDetail::getMaterialCode,cycleCountDetail.getMaterialCode())//物料编码 + .like(StringUtils.isNotEmpty(cycleCountDetail.getMaterialName()), CycleCountDetail::getMaterialName, cycleCountDetail.getMaterialName())//物料名称 + .like(StringUtils.isNotEmpty(cycleCountDetail.getMaterialSpec()), CycleCountDetail::getMaterialSpec,cycleCountDetail.getMaterialSpec())//物料规格 + .eq(cycleCountDetail.getTaskHeaderId() != null, CycleCountDetail::getTaskHeaderId, cycleCountDetail.getTaskHeaderId())//任务主表 + .eq(StringUtils.isNotEmpty(cycleCountDetail.getInventorySts()), CycleCountDetail::getInventorySts,cycleCountDetail.getInventorySts())//库存状态 + .eq(cycleCountDetail.getEnableStatus() != null, CycleCountDetail::getEnableStatus, cycleCountDetail.getEnableStatus())//明细状态 + .eq(StringUtils.isNotEmpty(cycleCountDetail.getBatch()),CycleCountDetail::getBatch,cycleCountDetail.getBatch())//批次 + .eq(StringUtils.isNotEmpty(cycleCountDetail.getLot()),CycleCountDetail::getLot,cycleCountDetail.getLot())//批号 + .eq(StringUtils.isNotEmpty(cycleCountDetail.getProjectNo()),CycleCountDetail::getProjectNo,cycleCountDetail.getProjectNo())//项目号 + .eq(StringUtils.isNotEmpty(cycleCountDetail.getCreatedBy()),CycleCountDetail::getCreatedBy,cycleCountDetail.getCreatedBy())//创建人 + .eq(StringUtils.isNotEmpty(cycleCountDetail.getCompletedBy()), CycleCountDetail::getCompletedBy,cycleCountDetail.getCompletedBy())//完成人 .orderByDesc(CycleCountDetail::getId); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetail.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetail.java index d4c407a..d770af4 100644 --- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetail.java +++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetail.java @@ -132,11 +132,11 @@ public class CycleCountDetail implements Serializable { private Long countedQty; /** - * 调整数量 + * 差异数量 */ - @TableField(value = "adjustQty") - @ApiModelProperty(value="调整数量") - private Long adjustQty; + @TableField(value = "gapQty") + @ApiModelProperty(value="差异数量") + private Long gapQty; /** * 失败原因 @@ -278,83 +278,19 @@ public class CycleCountDetail implements Serializable { @ApiModelProperty(value="项目号") private String projectNo; - private static final long serialVersionUID = 1L; - - public static final String COL_ID = "id"; - - public static final String COL_COUNTID = "countId"; - - public static final String COL_ROUND = "round"; - - public static final String COL_TASKHEADERID = "taskHeaderId"; - - public static final String COL_TASKDETAILID = "taskDetailId"; - - public static final String COL_WAREHOUSECODE = "warehouseCode"; - - public static final String COL_INVENTORYDETAILID = "inventoryDetailId"; - - public static final String COL_LOCATIONCODE = "locationCode"; - - public static final String COL_CONTAINERCODE = "containerCode"; - - public static final String COL_MATERIALCODE = "materialCode"; - - public static final String COL_MATERIALNAME = "materialName"; - - public static final String COL_MATERIALSPEC = "materialSpec"; - - public static final String COL_MATERIALUNIT = "materialUnit"; - - public static final String COL_COMPANYCODE = "companyCode"; - - public static final String COL_INVENTORYSTS = "inventorySts"; - - public static final String COL_SYSTEMQTY = "systemQty"; - - public static final String COL_COUNTEDQTY = "countedQty"; - - public static final String COL_ADJUSTQTY = "adjustQty"; - - public static final String COL_REJECTIONNOTE = "rejectionNote"; - - public static final String COL_COUNTEDBY = "countedBy"; - public static final String COL_COUNTEDAT = "countedAt"; - - public static final String COL_ASSIGNEDTO = "assignedTo"; - - public static final String COL_ASSIGNEDAT = "assignedAt"; - - public static final String COL_COMPLETEDBY = "completedBy"; - - public static final String COL_COMPLETEDAT = "completedAt"; - - public static final String COL_ENABLESTATUS = "enableStatus"; - - public static final String COL_CREATED = "created"; - - public static final String COL_CREATEDBY = "createdBy"; - - public static final String COL_LASTUPDATED = "lastUpdated"; - - public static final String COL_LASTUPDATEDBY = "lastUpdatedBy"; - - public static final String COL_VERSION = "version"; - - public static final String COL_USERDEF1 = "userDef1"; - - public static final String COL_USERDEF2 = "userDef2"; + /** + * 盘点主单号 + * */ + @TableField(value = "cycleCountHeadId") + @ApiModelProperty(value = "盘点主单号") + private Integer cycleCountHeadId; - public static final String COL_USERDEF3 = "userDef3"; - public static final String COL_PROCESSSTAMP = "processStamp"; - public static final String COL_BATCH = "batch"; - public static final String COL_LOT = "lot"; + private static final long serialVersionUID = 1L; - public static final String COL_PROJECTNO = "projectNo"; /** * 获取ID @@ -665,19 +601,14 @@ public class CycleCountDetail implements Serializable { /** * 获取调整数量 * - * @return adjustQty - 调整数量 + * @return gapQty- 调整数量 */ - public Long getAdjustQty() { - return adjustQty; + public Long getGapQty() { + return gapQty; } - /** - * 设置调整数量 - * - * @param adjustQty 调整数量 - */ - public void setAdjustQty(Long adjustQty) { - this.adjustQty = adjustQty; + public void setGapQty(Long gapQty) { + this.gapQty = gapQty; } /** @@ -1039,4 +970,12 @@ public class CycleCountDetail implements Serializable { public void setProjectNo(String projectNo) { this.projectNo = projectNo; } + + public Integer getCycleCountHeadId() { + return cycleCountHeadId; + } + + public void setCycleCountHeadId(Integer cycleCountHeadId) { + this.cycleCountHeadId = cycleCountHeadId; + } } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java b/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java index c092147..edd567d 100644 --- a/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java +++ b/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/controller/CycleCountHeaderController.java @@ -69,9 +69,12 @@ public class CycleCountHeaderController extends BaseController { lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), CycleCountHeader::getCreated, createdBegin) .le(StringUtils.isNotEmpty(createdEnd), CycleCountHeader::getCreated, createdEnd)//创建时间范围 .eq(CycleCountHeader::getWarehouseCode, ShiroUtils.getWarehouseCode()) //仓库 - - - + .eq(StringUtils.isNotEmpty(cycleCountHeader.getSourceCode()),CycleCountHeader::getSourceCode,cycleCountHeader.getSourceCode())//源盘点单号 + .eq(cycleCountHeader.getId() != null, CycleCountHeader::getId,cycleCountHeader.getId())//ID + .eq(StringUtils.isNotEmpty(cycleCountHeader.getMasterCode()),CycleCountHeader::getMasterCode, cycleCountHeader.getMasterCode())//盘点主表编号 + .eq(cycleCountHeader.getCountOrderId() != null, CycleCountHeader::getCountOrderId, cycleCountHeader.getCountOrderId())//原始盘点ID + .eq(cycleCountHeader.getStatusCyc() != null, CycleCountHeader::getStatusCyc, cycleCountHeader.getStatusCyc()) //盘点单状态 + .eq(cycleCountHeader.getCountType() != null ,CycleCountHeader::getCountType, cycleCountHeader.getCountType())//盘点类型 .orderByDesc(CycleCountHeader::getId); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java b/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java index 86fb3e4..4a7b368 100644 --- a/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java +++ b/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java @@ -208,13 +208,6 @@ public class InventoryTransaction implements Serializable { private String lockCode; /** - * 上次盘点日期 - */ - @TableField(value = "lastCycleCountDate") - @ApiModelProperty(value="上次盘点日期") - private Date lastCycleCountDate; - - /** * 创建时间 */ @TableField(value = "created") @@ -285,4 +278,6 @@ public class InventoryTransaction implements Serializable { @ApiModelProperty(value = "供应商编码") private String supplierCode; + + } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java index 926b2f3..5903f98 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.huaheng.common.exception.service.ServiceException; +import com.huaheng.common.support.Convert; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.aspectj.lang.annotation.Log; @@ -22,11 +24,13 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.ibatis.annotations.Param; import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.aspectj.weaver.loadtime.Aj; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.locks.ReentrantLock; @@ -108,4 +112,81 @@ public class ReceiptDetailController extends BaseController { public AjaxResult addSave(ReceiptDetail receiptDetail) { return receiptDetailService.saveReceiptDetaial(receiptDetail); } + + /** + * 修改入库明细 + */ + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Integer id, ModelMap mmap) { + ReceiptDetail receiptDetail = receiptDetailService.getById(id); + mmap.put("receiptDetail", receiptDetail); + return prefix + "/edit"; + } + + /** + * 修改保存入库单 + */ + @ApiOperation(value="修改入库单 ", notes="修改入库单 ", httpMethod = "POST") + @RequiresPermissions("receipt:receiptDetail:add") + @Log(title = "入库-入库单 ",operating = "修改入库单 ", action = BusinessType.INSERT) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave( + @ApiParam(name="receiptDetail",value="入库详情") ReceiptDetail receiptDetail) { + return receiptDetailService.updateReceiptDetaial(receiptDetail); + } + + /** + * 删除入库单 + */ + //@ApiOperation(value="删除入库单 ", notes="删除入库单 ", httpMethod = "POST") + //@RequiresPermissions("receipt:receiptDetail:add") + //@Log(title = "入库-入库单 ",operating = "修改入库单 ", action = BusinessType.INSERT) + //@PostMapping("/edit") + //@ResponseBody + //public AjaxResult remove(String ids) { + // if (StringUtils.isEmpty(ids)){ + // return AjaxResult.error("id为空"); + // } + // List<Integer> list = new ArrayList<>(); + // for (Integer id : Convert.toIntArray(ids)){ + // list.add(id); + // } + // return toAjax(receiptDetailService.removeByIds(list)); + //} + + /** + * 审核入库单 + */ + @ApiOperation(value="审核入库单", notes="审核入库单", httpMethod = "POST") + @RequiresPermissions("receipt:receiptDetail:approval") + @Log(title = "入库-入库单 ",operating = "审核入库单 ", action = BusinessType.UPDATE) + @PostMapping("/approval") + @ResponseBody + public AjaxResult approval(@ApiParam(name="id",value="入库明细表id") String ids, + @ApiParam(name="approval",value="审核结果值,10审核驳回,20作废,100审核成功") Integer approval) { + + if (StringUtils.isEmpty(ids)){ + return AjaxResult.error("id不能为空"); + } + if (approval != 10 || approval != 20 || approval != 100){ + return AjaxResult.error("传入参数错误"); + } + for (Integer id : Convert.toIntArray(ids)) { + ReceiptDetail receiptDetail = new ReceiptDetail(); + receiptDetail.setId(id); + receiptDetail.setProcessStamp(String.valueOf(approval)); + receiptDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); + if (receiptDetailService.updateById(receiptDetail)){ + ReceiptHeader receiptHeader = new ReceiptHeader(); + receiptHeader.setFirstStatus(approval); + receiptHeader.setId(receiptDetail.getReceiptId()); + receiptHeaderService.updateById(receiptHeader); + } else { + throw new ServiceException("审核失败"); + } + } + + return AjaxResult.success("审核成功"); + } } diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java index 14f04ea..af2d7d9 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java @@ -7,4 +7,5 @@ public interface ReceiptDetailService extends IService<ReceiptDetail>{ AjaxResult saveReceiptDetaial(ReceiptDetail receiptDetail); + AjaxResult updateReceiptDetaial(ReceiptDetail receiptDetail); } diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java index 21f19ae..be419be 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java @@ -2,10 +2,19 @@ package com.huaheng.pc.receipt.receiptDetail.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.pc.config.material.domain.Material; import com.huaheng.pc.config.material.service.MaterialService; +import com.huaheng.pc.config.materialType.domain.MaterialType; +import com.huaheng.pc.config.materialType.service.MaterialTypeService; +import com.huaheng.pc.config.receiptPreference.domain.ReceiptPreference; +import com.huaheng.pc.config.receiptPreference.service.ReceiptPreferenceService; +import com.huaheng.pc.config.receiptType.domain.ReceiptType; +import com.huaheng.pc.config.receiptType.service.ReceiptTypeService; +import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail; +import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService; import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService; import org.aspectj.weaver.loadtime.Aj; @@ -25,6 +34,14 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R private MaterialService materialService; @Resource private ReceiptHeaderService receiptHeaderService; + @Resource + private ReceiptTypeService receiptTypeService; + @Resource + private StatusFlowDetailService statusFlowDetailService; + @Resource + private MaterialTypeService materialTypeService; + @Resource + private ReceiptPreferenceService receiptPreferenceService; /** * 新增入库明细 @@ -34,15 +51,17 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R @Transactional public AjaxResult saveReceiptDetaial(ReceiptDetail receiptDetail){ /* 判断入库头表状态*/ - LambdaQueryWrapper<ReceiptHeader> lambda = Wrappers.lambdaQuery(); - lambda.eq(ReceiptHeader::getId, receiptDetail.getReceiptId()); - ReceiptHeader receiptHeader = receiptHeaderService.getOne(lambda); + LambdaQueryWrapper<ReceiptHeader> lambdaReceiptHeader = Wrappers.lambdaQuery(); + lambdaReceiptHeader.eq(ReceiptHeader::getId, receiptDetail.getReceiptId()); + ReceiptHeader receiptHeader = receiptHeaderService.getOne(lambdaReceiptHeader); + + //判断入库头表状态 if (receiptHeader == null ){ - return AjaxResult.error("找不到主单据"); + throw new ServiceException("找不到主单据"); } else if (receiptHeader.getFirstStatus() > 100){ - return AjaxResult.error("单据进入订单池后,不允许新增明细"); + throw new ServiceException("单据进入订单池后,不允许新增明细"); } else if (receiptHeader.getFirstStatus() == 20) { - return AjaxResult.error("单据销毁"); + throw new ServiceException("单据已作废"); } receiptDetail.setReceiptCode(receiptHeader.getCode()); @@ -51,7 +70,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R lambdaQueryWrapper.eq(Material::getCode, receiptDetail.getMaterialCode()); Material material = materialService.getOne(lambdaQueryWrapper); if (material == null) { - return AjaxResult.error("物料不存在"); + throw new ServiceException("物料不存在"); } receiptDetail.setCompanyCode(material.getCompanyCode()); receiptDetail.setMaterialName(material.getName()); @@ -62,6 +81,36 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R receiptDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); receiptDetail.setWarehouseCode(ShiroUtils.getWarehouseCode()); + //查询头表中绑定的入库类型中的入库流程 + LambdaQueryWrapper<ReceiptType> lambdaReceiptType = Wrappers.lambdaQuery(); + lambdaReceiptType.eq(ReceiptType::getCode, receiptHeader.getReceiptType()); + ReceiptType receiptType = receiptTypeService.getOne(lambdaReceiptType); + if (receiptType.getReceiptFlow() != null){ + //物料是否有入库流程 + List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptType.getReceiptFlow()); + receiptDetail.setProcessStamp(statusFlowDetails.get(0).getFlowCode()); + } else if (material.getReceivingFlow() != null){ + //物料是否有入库流程 + List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(material.getReceivingFlow()); + receiptDetail.setProcessStamp(statusFlowDetails.get(0).getFlowCode()); + } else { + //该物料类别是否有入库流程 + LambdaQueryWrapper<MaterialType> lambdaMaterialType = Wrappers.lambdaQuery(); + lambdaMaterialType.eq(MaterialType::getCode, material.getType()); + MaterialType materialType = materialTypeService.getOne(lambdaMaterialType); + if (materialType.getReceivingFlow() != null) { + List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(materialType.getReceivingFlow()); + receiptDetail.setProcessStamp(statusFlowDetails.get(0).getFlowCode()); + } else { + //以上都没有的情况下查询入库首选项中的入库流程 + LambdaQueryWrapper<ReceiptPreference> lambda = Wrappers.lambdaQuery(); + lambda.last("Limit 1"); + ReceiptPreference receiptPreference = receiptPreferenceService.getOne(lambda); + List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptPreference.getReceivingFlow()); + receiptDetail.setProcessStamp(statusFlowDetails.get(0).getFlowCode()); + } + } + if (this.save(receiptDetail)) { receiptHeader.setTotalQty(receiptHeader.getTotalQty()+receiptDetail.getTotalQty()); receiptHeader.setTotalLines(receiptHeader.getTotalLines()+1); @@ -72,4 +121,49 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R } } + + /** + * 修改入库明细 + * @param receiptDetail + * @return + */ + @Override + @Transactional + public AjaxResult updateReceiptDetaial(ReceiptDetail receiptDetail) { + /* 先修改入库头表中的总数量和总行数,再更新记录,完成后更新入库头表中总数量和总行数*/ + + //查询原记录 + ReceiptDetail originalReceiptDetail= this.getById(receiptDetail.getId()); + ReceiptHeader receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId()); + //判断物料编码是否被修改 + if (!originalReceiptDetail.getMaterialCode().equals(receiptDetail.getMaterialCode())){ + LambdaQueryWrapper<Material> lambdaMaterial = Wrappers.lambdaQuery(); + lambdaMaterial.eq(Material::getCode,receiptDetail.getMaterialCode()); + Material material = materialService.getOne(lambdaMaterial); + if (material == null) { + throw new ServiceException("该物料编码不存在"); + + }else { + receiptDetail.setMaterialName(material.getName()); + receiptDetail.setMaterialSpec(material.getSpec()); + receiptDetail.setMaterialUnit(material.getUnit()); + + receiptHeader.setTotalQty(receiptHeader.getTotalQty()-originalReceiptDetail.getTotalQty()); + receiptHeader.setTotalLines(receiptHeader.getTotalLines()-1); + if ( !receiptHeaderService.updateById(receiptHeader)){ + return AjaxResult.error("入库头表更新失败"); + } + } + } + + receiptDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); + if ( !this.updateById(receiptDetail) ){ + return AjaxResult.error("入库明细更新失败"); + } else { + receiptHeader.setTotalQty(receiptHeader.getTotalQty()+receiptDetail.getTotalQty()); + receiptHeader.setTotalLines(receiptHeader.getTotalLines()+1); + receiptHeaderService.updateById(receiptHeader); + return AjaxResult.success("修改单据明细成功"); + } + } } diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java b/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java new file mode 100644 index 0000000..ec44667 --- /dev/null +++ b/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java @@ -0,0 +1,348 @@ +package com.huaheng.pc.receipt.receiptDetailHistory.domain; + +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import lombok.Data; + +@ApiModel(value="com.huaheng.pc.receipt.receiptDetailHistory.domain.ReceiptDetailHistory") +@Data +@TableName(value = "receipt_detail_history") +public class ReceiptDetailHistory implements Serializable { + /** + * 入库明细内部号 + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="入库明细内部号") + private Integer id; + + /** + * 入库单头内部号 + */ + @TableField(value = "receiptId") + @ApiModelProperty(value="入库单头内部号") + private Integer receiptId; + + /** + * 入库单 + */ + @TableField(value = "receiptCode") + @ApiModelProperty(value="入库单") + private String receiptCode; + + /** + * 仓库 + */ + @TableField(value = "warehouseCode") + @ApiModelProperty(value="仓库") + private String warehouseCode; + + /** + * 货主 + */ + @TableField(value = "companyCode") + @ApiModelProperty(value="货主") + private String companyCode; + + /** + * 物料编码 + */ + @TableField(value = "materialCode") + @ApiModelProperty(value="物料编码") + private String materialCode; + + /** + * 物料信息 + */ + @TableField(value = "materialName") + @ApiModelProperty(value="物料信息") + private String materialName; + + /** + * 物料规格 + */ + @TableField(value = "materialSpec") + @ApiModelProperty(value="物料规格") + private String materialSpec; + + /** + * 物料单位 + */ + @TableField(value = "materialUnit") + @ApiModelProperty(value="物料单位") + private String materialUnit; + + /** + * 供应商编码 + */ + @TableField(value = "supplierCode") + @ApiModelProperty(value="供应商编码") + private String supplierCode; + + /** + * 批次 + */ + @TableField(value = "batch") + @ApiModelProperty(value="批次") + private String batch; + + /** + * 批号 + */ + @TableField(value = "lot") + @ApiModelProperty(value="批号") + private String lot; + + /** + * 质检 + */ + @TableField(value = "qcCheck") + @ApiModelProperty(value="质检") + private String qcCheck; + + /** + * 项目号 + */ + @TableField(value = "projectNo") + @ApiModelProperty(value="项目号") + private String projectNo; + + /** + * 生产日期 + */ + @TableField(value = "manufactureDate") + @ApiModelProperty(value="生产日期") + private Date manufactureDate; + + /** + * 失效日期 + */ + @TableField(value = "expirationDate") + @ApiModelProperty(value="失效日期") + private Date expirationDate; + + /** + * 入库日期 + */ + @TableField(value = "agingDate") + @ApiModelProperty(value="入库日期") + private Date agingDate; + + /** + * 属性模板 + */ + @TableField(value = "attributeTemplateCode") + @ApiModelProperty(value="属性模板") + private String attributeTemplateCode; + + /** + * 属性1 + */ + @TableField(value = "attribute1") + @ApiModelProperty(value="属性1") + private String attribute1; + + /** + * 属性2 + */ + @TableField(value = "attribute2") + @ApiModelProperty(value="属性2") + private String attribute2; + + /** + * 属性3 + */ + @TableField(value = "attribute3") + @ApiModelProperty(value="属性3") + private String attribute3; + + /** + * 属性4 + */ + @TableField(value = "attribute4") + @ApiModelProperty(value="属性4") + private String attribute4; + + /** + * 总数量 + */ + @TableField(value = "totalQty") + @ApiModelProperty(value="总数量") + private Integer totalQty; + + /** + * 未收数量 + */ + @TableField(value = "openQty") + @ApiModelProperty(value="未收数量") + private Integer openQty; + + /** + * ERP单号 + */ + @TableField(value = "referCode") + @ApiModelProperty(value="ERP单号") + private String referCode; + + /** + * ERP内部号 + */ + @TableField(value = "referId") + @ApiModelProperty(value="ERP内部号") + private Integer referId; + + /** + * ERP行号 + */ + @TableField(value = "referLineNum") + @ApiModelProperty(value="ERP行号") + private String referLineNum; + + /** + * 定位规则 + */ + @TableField(value = "locatingRule") + @ApiModelProperty(value="定位规则") + private String locatingRule; + + /** + * 库存状态 + */ + @TableField(value = "inventorySts") + @ApiModelProperty(value="库存状态") + private String inventorySts; + + /** + * 标价 + */ + @TableField(value = "itemListPrice") + @ApiModelProperty(value="标价") + private BigDecimal itemListPrice; + + /** + * 净价 + */ + @TableField(value = "itemNetPrice") + @ApiModelProperty(value="净价") + private BigDecimal itemNetPrice; + + /** + * 是否虚拟套件 + */ + @TableField(value = "isVirtualBom") + @ApiModelProperty(value="是否虚拟套件") + private Integer isVirtualBom; + + /** + * 创建时间 + */ + @TableField(value = "created") + @ApiModelProperty(value="创建时间") + private Date created; + + /** + * 创建用户 + */ + @TableField(value = "createdBy") + @ApiModelProperty(value="创建用户") + private String createdBy; + + /** + * 创建时间 + */ + @TableField(value = "lastUpdated") + @ApiModelProperty(value="创建时间") + private Date lastUpdated; + + /** + * 更新用户 + */ + @TableField(value = "lastUpdatedBy") + @ApiModelProperty(value="更新用户") + private String lastUpdatedBy; + + /** + * 数据版本 + */ + @TableField(value = "version") + @ApiModelProperty(value="数据版本") + private Integer version; + + /** + * 自定义字段1 + */ + @TableField(value = "userDef1") + @ApiModelProperty(value="自定义字段1") + private String userDef1; + + /** + * 自定义字段2 + */ + @TableField(value = "userDef2") + @ApiModelProperty(value="自定义字段2") + private String userDef2; + + /** + * 自定义字段3 + */ + @TableField(value = "userDef3") + @ApiModelProperty(value="自定义字段3") + private String userDef3; + + /** + * 自定义字段4 + */ + @TableField(value = "userDef4") + @ApiModelProperty(value="自定义字段4") + private String userDef4; + + /** + * 自定义字段5 + */ + @TableField(value = "userDef5") + @ApiModelProperty(value="自定义字段5") + private String userDef5; + + /** + * 自定义字段6 + */ + @TableField(value = "userDef6") + @ApiModelProperty(value="自定义字段6") + private String userDef6; + + /** + * 自定义字段7 + */ + @TableField(value = "userDef7") + @ApiModelProperty(value="自定义字段7") + private String userDef7; + + /** + * 自定义字段8 + */ + @TableField(value = "userDef8") + @ApiModelProperty(value="自定义字段8") + private String userDef8; + + /** + * 处理标记 + */ + @TableField(value = "processStamp") + @ApiModelProperty(value="处理标记") + private String processStamp; + + /** + * 是否删除 + */ + @TableField(value = "deleted") + @ApiModelProperty(value="是否删除") + private Boolean deleted; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/mapper/ReceiptDetailHistoryMapper.java b/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/mapper/ReceiptDetailHistoryMapper.java new file mode 100644 index 0000000..d0d8753 --- /dev/null +++ b/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/mapper/ReceiptDetailHistoryMapper.java @@ -0,0 +1,7 @@ +package com.huaheng.pc.receipt.receiptDetailHistory.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.receipt.receiptDetailHistory.domain.ReceiptDetailHistory; + +public interface ReceiptDetailHistoryMapper extends BaseMapper<ReceiptDetailHistory> { +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/service/ReceiptDetailHistoryService.java b/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/service/ReceiptDetailHistoryService.java new file mode 100644 index 0000000..5057220 --- /dev/null +++ b/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/service/ReceiptDetailHistoryService.java @@ -0,0 +1,12 @@ +package com.huaheng.pc.receipt.receiptDetailHistory.service; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.pc.receipt.receiptDetailHistory.domain.ReceiptDetailHistory; +import com.huaheng.pc.receipt.receiptDetailHistory.mapper.ReceiptDetailHistoryMapper; +@Service +public class ReceiptDetailHistoryService extends ServiceImpl<ReceiptDetailHistoryMapper, ReceiptDetailHistory> { + +} diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java index 224ea8d..a5e154c 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/controller/ReceiptHeaderController.java @@ -16,7 +16,9 @@ import com.huaheng.framework.web.page.TableSupport; import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -49,7 +51,9 @@ public class ReceiptHeaderController extends BaseController { @Log(title = "入库-入库单头表", operating = "查看入库单列表", action = BusinessType.GRANT) @PostMapping("/list") @ResponseBody - public TableDataInfo list(ReceiptHeader receiptHeader, String createdBegin, String createdEnd) { + public TableDataInfo list(@ApiParam(name="receiptDetail",value="入库头表")ReceiptHeader receiptHeader, + @ApiParam(name = "createdBegin", value = "起止时间") String createdBegin, + @ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) { LambdaQueryWrapper<ReceiptHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); @@ -122,4 +126,41 @@ public class ReceiptHeaderController extends BaseController { receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); return toAjax(receiptHeaderService.updateById(receiptHeader)); } + + /** + * 审核入库单 + */ + @ApiOperation(value="审核入库单", notes="审核入库单", httpMethod = "POST") + @RequiresPermissions("receipt:receiptHeader:approval") + @Log(title = "入库-入库单 ",operating = "审核入库单 ", action = BusinessType.UPDATE) + @PostMapping("/approval") + @ResponseBody + public AjaxResult approval(@ApiParam(name="id",value="入库头表id") Integer id, + @ApiParam(name="approval",value="审核结果值,10审核驳回,20作废,100审核成功") Integer approval) { + ReceiptHeader receiptHeader = new ReceiptHeader(); + if (approval != 10 || approval != 20 || approval != 100){ + return AjaxResult.error("传入参数错误"); + } + receiptHeader.setId(id); + receiptHeader.setLastStatus(approval); + receiptHeader.setFirstStatus(approval); + receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); + return toAjax(receiptHeaderService.updateById(receiptHeader)); + } + + /** + * 提交审核入库单 + */ + @ApiOperation(value="提交审核入库单", notes="提交审核入库单", httpMethod = "POST") + @RequiresPermissions("receipt:receiptHeader:approval") + @Log(title = "入库-入库单 ",operating = "提交审核入库单 ", action = BusinessType.UPDATE) + @PostMapping("/submitReview") + @ResponseBody + public AjaxResult submitReview(@ApiParam(name="id",value="入库头表id") Integer id) { + ReceiptHeader receiptHeader = new ReceiptHeader(); + receiptHeader.setId(id); + receiptHeader.setFirstStatus(5); + receiptHeader.setLastStatus(5); + return toAjax(receiptHeaderService.updateById(receiptHeader)); + } } diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java index ee84aae..f03e9ff 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java @@ -3,10 +3,13 @@ package com.huaheng.pc.receipt.receiptHeader.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.pc.config.receiptType.domain.ReceiptType; import com.huaheng.pc.config.receiptType.service.ReceiptTypeService; +import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail; +import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService; import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; import com.huaheng.pc.receipt.receiptHeader.mapper.ReceiptHeaderMapper; import org.springframework.stereotype.Service; @@ -14,19 +17,29 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; @Service public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, ReceiptHeader> { @Resource private ReceiptTypeService receiptTypeService; + @Resource + private StatusFlowDetailService statusFlowDetailService; public AjaxResult saveReceiptHeader(ReceiptHeader receiptHeader){ LambdaQueryWrapper<ReceiptType> lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(ReceiptType::getCode, receiptHeader.getReceiptType()); - if(receiptTypeService.getOne(lambdaQueryWrapper) == null) { - return AjaxResult.error("没有对应的入库单类型"); + ReceiptType receiptType = receiptTypeService.getOne(lambdaQueryWrapper); + + //流程详情查询 + LambdaQueryWrapper<StatusFlowDetail> lambdaStatus = Wrappers.lambdaQuery(); + lambdaStatus.orderByAsc(StatusFlowDetail::getSequence); + + if(receiptType == null) { + throw new ServiceException("没有对应的入库单类型"); } + String code = createCode(receiptHeader.getReceiptType()); receiptHeader.setCode(code); receiptHeader.setFirstStatus(0); diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/domain/ReceiptHeaderHistory.java b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/domain/ReceiptHeaderHistory.java new file mode 100644 index 0000000..523f895 --- /dev/null +++ b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/domain/ReceiptHeaderHistory.java @@ -0,0 +1,299 @@ +package com.huaheng.pc.receipt.receiptHeaderHistory.domain; + +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import lombok.Data; + +@ApiModel(value="com.huaheng.pc.receipt.receiptHeaderHistory.domain.ReceiptHeaderHistory") +@Data +@TableName(value = "receipt_header_history") +public class ReceiptHeaderHistory implements Serializable { + /** + * 入库单内部号 + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="入库单内部号") + private Integer id; + + /** + * 仓库 + */ + @TableField(value = "warehouseCode") + @ApiModelProperty(value="仓库") + private String warehouseCode; + + /** + * 货主 + */ + @TableField(value = "companyCode") + @ApiModelProperty(value="货主") + private String companyCode; + + /** + * 入库单号 + */ + @TableField(value = "code") + @ApiModelProperty(value="入库单号") + private String code; + + /** + * 入库类型 + */ + @TableField(value = "receiptType") + @ApiModelProperty(value="入库类型") + private String receiptType; + + /** + * 首状态 + */ + @TableField(value = "firstStatus") + @ApiModelProperty(value="首状态") + private Integer firstStatus; + + /** + * 尾状态 + */ + @TableField(value = "lastStatus") + @ApiModelProperty(value="尾状态") + private Integer lastStatus; + + /** + * 关联单号 + */ + @TableField(value = "referCode") + @ApiModelProperty(value="关联单号") + private String referCode; + + /** + * 关联单号(内部号) + */ + @TableField(value = "referId") + @ApiModelProperty(value="关联单号(内部号)") + private Integer referId; + + /** + * 关联订单类型 + */ + @TableField(value = "referType") + @ApiModelProperty(value="关联订单类型") + private String referType; + + /** + * 预计到达日期 + */ + @TableField(value = "scheduledArriveDate") + @ApiModelProperty(value="预计到达日期") + private Date scheduledArriveDate; + + /** + * 实际到达日期 + */ + @TableField(value = "actualArriveDate") + @ApiModelProperty(value="实际到达日期") + private Date actualArriveDate; + + /** + * 月台货位 + */ + @TableField(value = "recvDock") + @ApiModelProperty(value="月台货位") + private String recvDock; + + /** + * 关闭时间 + */ + @TableField(value = "closedAt") + @ApiModelProperty(value="关闭时间") + private Date closedAt; + + /** + * 强制关闭用户 + */ + @TableField(value = "closedBy") + @ApiModelProperty(value="强制关闭用户") + private String closedBy; + + /** + * 开始收货日期 + */ + @TableField(value = "startCheckinDatetime") + @ApiModelProperty(value="开始收货日期") + private Date startCheckinDatetime; + + /** + * 结束收货日期 + */ + @TableField(value = "endCheckinDatetime") + @ApiModelProperty(value="结束收货日期") + private Date endCheckinDatetime; + + /** + * 总数量 + */ + @TableField(value = "totalQty") + @ApiModelProperty(value="总数量") + private Integer totalQty; + + /** + * 总行数 + */ + @TableField(value = "totalLines") + @ApiModelProperty(value="总行数") + private Integer totalLines; + + /** + * 总箱数 + */ + @TableField(value = "toalCases") + @ApiModelProperty(value="总箱数") + private Integer toalCases; + + /** + * 总重量 + */ + @TableField(value = "totalWeight") + @ApiModelProperty(value="总重量") + private BigDecimal totalWeight; + + /** + * 总体积 + */ + @TableField(value = "totalVolume") + @ApiModelProperty(value="总体积") + private BigDecimal totalVolume; + + /** + * 入库单备注 + */ + @TableField(value = "receiptNote") + @ApiModelProperty(value="入库单备注") + private String receiptNote; + + /** + * 锁定 + */ + @TableField(value = "locked") + @ApiModelProperty(value="锁定") + private Integer locked; + + /** + * 锁定用户 + */ + @TableField(value = "lockedBy") + @ApiModelProperty(value="锁定用户") + private String lockedBy; + + /** + * 创建时间 + */ + @TableField(value = "created") + @ApiModelProperty(value="创建时间") + private Date created; + + /** + * 创建用户 + */ + @TableField(value = "createdBy") + @ApiModelProperty(value="创建用户") + private String createdBy; + + /** + * 创建时间 + */ + @TableField(value = "lastUpdated") + @ApiModelProperty(value="创建时间") + private Date lastUpdated; + + /** + * 更新用户 + */ + @TableField(value = "lastUpdatedBy") + @ApiModelProperty(value="更新用户") + private String lastUpdatedBy; + + /** + * 数据版本 + */ + @TableField(value = "version") + @ApiModelProperty(value="数据版本") + private Integer version; + + /** + * 自定义字段1 + */ + @TableField(value = "userDef1") + @ApiModelProperty(value="自定义字段1") + private String userDef1; + + /** + * 自定义字段2 + */ + @TableField(value = "userDef2") + @ApiModelProperty(value="自定义字段2") + private String userDef2; + + /** + * 自定义字段3 + */ + @TableField(value = "userDef3") + @ApiModelProperty(value="自定义字段3") + private String userDef3; + + /** + * 自定义字段4 + */ + @TableField(value = "userDef4") + @ApiModelProperty(value="自定义字段4") + private String userDef4; + + /** + * 自定义字段5 + */ + @TableField(value = "userDef5") + @ApiModelProperty(value="自定义字段5") + private String userDef5; + + /** + * 自定义字段6 + */ + @TableField(value = "userDef6") + @ApiModelProperty(value="自定义字段6") + private String userDef6; + + /** + * 自定义字段7 + */ + @TableField(value = "userDef7") + @ApiModelProperty(value="自定义字段7") + private String userDef7; + + /** + * 自定义字段8 + */ + @TableField(value = "userDef8") + @ApiModelProperty(value="自定义字段8") + private String userDef8; + + /** + * 处理标记 + */ + @TableField(value = "processStamp") + @ApiModelProperty(value="处理标记") + private String processStamp; + + /** + * 是否删除 + */ + @TableField(value = "deleted") + @ApiModelProperty(value="是否删除") + private Boolean deleted; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/mapper/ReceiptHeaderHistoryMapper.java b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/mapper/ReceiptHeaderHistoryMapper.java new file mode 100644 index 0000000..aa1d978 --- /dev/null +++ b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/mapper/ReceiptHeaderHistoryMapper.java @@ -0,0 +1,7 @@ +package com.huaheng.pc.receipt.receiptHeaderHistory.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.receipt.receiptHeaderHistory.domain.ReceiptHeaderHistory; + +public interface ReceiptHeaderHistoryMapper extends BaseMapper<ReceiptHeaderHistory> { +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java new file mode 100644 index 0000000..dcd509c --- /dev/null +++ b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java @@ -0,0 +1,12 @@ +package com.huaheng.pc.receipt.receiptHeaderHistory.service; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.pc.receipt.receiptHeaderHistory.domain.ReceiptHeaderHistory; +import com.huaheng.pc.receipt.receiptHeaderHistory.mapper.ReceiptHeaderHistoryMapper; +@Service +public class ReceiptHeaderHistoryService extends ServiceImpl<ReceiptHeaderHistoryMapper, ReceiptHeaderHistory> { + +} diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/controller/ShipmentDetailHistoryController.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/controller/ShipmentDetailHistoryController.java index 21f3005..b7c54a2 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/controller/ShipmentDetailHistoryController.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/controller/ShipmentDetailHistoryController.java @@ -15,6 +15,8 @@ import com.huaheng.framework.web.page.TableDataInfo; import com.huaheng.framework.web.page.TableSupport; import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService; +import com.huaheng.pc.shipment.shipmentDetailHistory.domain.ShipmentDetailHistory; +import com.huaheng.pc.shipment.shipmentDetailHistory.service.ShipmentDetailHistoryService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -24,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; /** - * 出库明细 信息操作处理 + * 历史出库明细 信息操作处理 * * @author huaheng * @date 2018-08-19 @@ -36,12 +38,12 @@ public class ShipmentDetailHistoryController extends BaseController private String prefix = "shipment/shipmentDetailHistory"; @Autowired - private ShipmentDetailService shipmentDetailService; + private ShipmentDetailHistoryService shipmentDetailHistoryService; @RequiresPermissions("shipment:bill:view") @GetMapping("/{shipmentId}/{shipmentCode}") - public String shipmentDetail(@PathVariable("shipmentId") String shipmentId, @PathVariable("shipmentCode") String shipmentCode,@PathVariable("inventoryStatus") String inventoryStatus, ModelMap mmap) + public String shipmentHistoryDetail(@PathVariable("shipmentId") String shipmentId, @PathVariable("shipmentCode") String shipmentCode,@PathVariable("inventoryStatus") String inventoryStatus, ModelMap mmap) { mmap.put("receiptId", shipmentId); mmap.put("shipmentCode", shipmentCode); @@ -53,31 +55,31 @@ public class ShipmentDetailHistoryController extends BaseController * 查询出库明细列表 */ @RequiresPermissions("shipment:bill:list") - @Log(title = "出库-出库单", operating= "查看出库明细", action = BusinessType.GRANT) + @Log(title = "出库-历史出库单", operating= "查看历史出库明细", action = BusinessType.GRANT) @PostMapping("/list") @ResponseBody - public TableDataInfo list(ShipmentDetail shipmentDetail) + public TableDataInfo list(ShipmentDetailHistory shipmentDetailHistory) { - LambdaQueryWrapper<ShipmentDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); + LambdaQueryWrapper<ShipmentDetailHistory> lambdaQueryWrapper = Wrappers.lambdaQuery(); PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); lambdaQueryWrapper - .eq(ShipmentDetail::getWarehouseCode,ShiroUtils.getWarehouseCode()) - .in(ShipmentDetail::getCompanyCode,ShiroUtils.getCompanyCodeList()) - .eq(StringUtils.isNotEmpty(shipmentDetail.getShipmentCode()),ShipmentDetail::getShipmentCode,shipmentDetail.getShipmentCode()) - .orderByAsc(ShipmentDetail::getId); + .eq(ShipmentDetailHistory::getWarehouseCode,ShiroUtils.getWarehouseCode()) + .in(ShipmentDetailHistory::getCompanyCode,ShiroUtils.getCompanyCodeList()) + .eq(StringUtils.isNotEmpty(shipmentDetailHistory.getShipmentCode()),ShipmentDetailHistory::getShipmentCode,shipmentDetailHistory.getShipmentCode()) + .orderByAsc(ShipmentDetailHistory::getId); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ /** * 使用分页查询 */ - Page<ShipmentDetail> page = new Page<>(pageNum, pageSize); - IPage<ShipmentDetail> iPage = shipmentDetailService.page(page, lambdaQueryWrapper); + Page<ShipmentDetailHistory> page = new Page<>(pageNum, pageSize); + IPage<ShipmentDetailHistory> iPage = shipmentDetailHistoryService.page(page, lambdaQueryWrapper); return getMpDataTable(iPage.getRecords(),iPage.getTotal()); } else { - List<ShipmentDetail> list = shipmentDetailService.list(lambdaQueryWrapper); + List<ShipmentDetailHistory> list = shipmentDetailHistoryService.list(lambdaQueryWrapper); return getDataTable(list); } } @@ -87,12 +89,12 @@ public class ShipmentDetailHistoryController extends BaseController * 删除出库明细 */ @RequiresPermissions("shipment:bill:remove") - @Log(title = "出库-出库单", operating= "删除出库明细", action = BusinessType.DELETE) + @Log(title = "出库-历史出库单", operating= "删除历史出库明细", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { - AjaxResult result = shipmentDetailService.deleteDetail(ids); + AjaxResult result = shipmentDetailHistoryService.deleteDetail(ids); return result; } diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/domain/ShipmentDetailHistory.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/domain/ShipmentDetailHistory.java new file mode 100644 index 0000000..9b4d99f --- /dev/null +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/domain/ShipmentDetailHistory.java @@ -0,0 +1,1095 @@ +package com.huaheng.pc.shipment.shipmentDetailHistory.domain; + +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@ApiModel(value="com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetailHistory") +@TableName(value = "shipment_detail_history") +public class ShipmentDetailHistory implements Serializable { + /** + * 出库单内部行号 + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="出库单内部行号") + private Integer id; + + /** + * 出库单内部号 + */ + @TableField(value = "shipmentId") + @ApiModelProperty(value="出库单内部号") + private Integer shipmentId; + + /** + * 仓库 + */ + @TableField(value = "warehouseCode") + @ApiModelProperty(value="仓库") + private String warehouseCode; + + /** + * 货主 + */ + @TableField(value = "companyCode") + @ApiModelProperty(value="货主") + private String companyCode; + + /** + * 出库单号 + */ + @TableField(value = "shipmentCode") + @ApiModelProperty(value="出库单号") + private String shipmentCode; + + /** + * 上游订单号 + */ + @TableField(value = "referCode") + @ApiModelProperty(value="上游订单号") + private String referCode; + + /** + * 上游订单内部号 + */ + @TableField(value = "referId") + @ApiModelProperty(value="上游订单内部号") + private Integer referId; + + /** + * 上游订单行号 + */ + @TableField(value = "referLineNum") + @ApiModelProperty(value="上游订单行号") + private String referLineNum; + + /** + * 物料 + */ + @TableField(value = "materialCode") + @ApiModelProperty(value="物料") + private String materialCode; + + /** + * 物料描述 + */ + @TableField(value = "materialName") + @ApiModelProperty(value="物料描述") + private String materialName; + + /** + * 物料规格 + */ + @TableField(value = "materialSpec") + @ApiModelProperty(value="物料规格") + private String materialSpec; + + /** + * 物料单位 + */ + @TableField(value = "materialUnit") + @ApiModelProperty(value="物料单位") + private String materialUnit; + + /** + * 发货数量 + */ + @TableField(value = "shipQty") + @ApiModelProperty(value="发货数量") + private BigDecimal shipQty; + + /** + * 请求数量 + */ + @TableField(value = "requestQty") + @ApiModelProperty(value="请求数量") + private BigDecimal requestQty; + + /** + * 分配规则 + */ + @TableField(value = "allocationRule") + @ApiModelProperty(value="分配规则") + private String allocationRule; + + /** + * 补货规则 + */ + @TableField(value = "replenishmentRule") + @ApiModelProperty(value="补货规则") + private String replenishmentRule; + + /** + * 拣货货位 + */ + @TableField(value = "pickLocs") + @ApiModelProperty(value="拣货货位") + private String pickLocs; + + /** + * 属性1 + */ + @TableField(value = "attribute1") + @ApiModelProperty(value="属性1") + private String attribute1; + + /** + * 属性2 + */ + @TableField(value = "attribute2") + @ApiModelProperty(value="属性2") + private String attribute2; + + /** + * 属性3 + */ + @TableField(value = "attribute3") + @ApiModelProperty(value="属性3") + private String attribute3; + + /** + * 属性4 + */ + @TableField(value = "attribute4") + @ApiModelProperty(value="属性4") + private String attribute4; + + /** + * 批次 + */ + @TableField(value = "batch") + @ApiModelProperty(value="批次") + private String batch; + + /** + * 批号 + */ + @TableField(value = "lot") + @ApiModelProperty(value="批号") + private String lot; + + /** + * 项目号 + */ + @TableField(value = "projectNo") + @ApiModelProperty(value="项目号") + private String projectNo; + + /** + * 生产日期 + */ + @TableField(value = "manufactureDate") + @ApiModelProperty(value="生产日期") + private Date manufactureDate; + + /** + * 失效日期 + */ + @TableField(value = "expirationDate") + @ApiModelProperty(value="失效日期") + private Date expirationDate; + + /** + * 入库日期 + */ + @TableField(value = "agingDate") + @ApiModelProperty(value="入库日期") + private Date agingDate; + + /** + * 库存状态 + */ + @TableField(value = "inventorySts") + @ApiModelProperty(value="库存状态") + private String inventorySts; + + /** + * 月台货位 + */ + @TableField(value = "dockLoc") + @ApiModelProperty(value="月台货位") + private String dockLoc; + + /** + * 包装分类 + */ + @TableField(value = "packingClass") + @ApiModelProperty(value="包装分类") + private String packingClass; + + + /** + * 状态 + */ + @TableField(value = "status") + @ApiModelProperty(value="状态") + private Integer status; + + /** + * 波次号 + */ + @TableField(value = "waveId") + @ApiModelProperty(value="波次号") + private Integer waveId; + + /** + * 创建时间 + */ + @TableField(value = "created") + @ApiModelProperty(value="创建时间") + private Date created; + + /** + * 创建用户 + */ + @TableField(value = "createdBy") + @ApiModelProperty(value="创建用户") + private String createdBy; + + /** + * 创建时间 + */ + @TableField(value = "lastUpdated") + @ApiModelProperty(value="创建时间") + private Date lastUpdated; + + /** + * 更新用户 + */ + @TableField(value = "lastUpdatedBy") + @ApiModelProperty(value="更新用户") + private String lastUpdatedBy; + + /** + * 数据版本 + */ + @TableField(value = "version") + @ApiModelProperty(value="数据版本") + private Integer version; + + /** + * 自定义字段1 + */ + @TableField(value = "userDef1") + @ApiModelProperty(value="自定义字段1") + private String userDef1; + + /** + * 自定义字段2 + */ + @TableField(value = "userDef2") + @ApiModelProperty(value="自定义字段2") + private String userDef2; + + /** + * 自定义字段3 + */ + @TableField(value = "userDef3") + @ApiModelProperty(value="自定义字段3") + private String userDef3; + + /** + * 处理标记 + */ + @TableField(value = "processStamp") + @ApiModelProperty(value="处理标记") + private String processStamp; + + private static final long serialVersionUID = 1L; + + public static final String COL_SHIPMENTID = "shipmentId"; + + public static final String COL_WAREHOUSECODE = "warehouseCode"; + + public static final String COL_COMPANYCODE = "companyCode"; + + public static final String COL_SHIPMENTCODE = "shipmentCode"; + + public static final String COL_REFERCODE = "referCode"; + + public static final String COL_REFERID = "referId"; + + public static final String COL_REFERLINENUM = "referLineNum"; + + public static final String COL_MATERIALCODE = "materialCode"; + + public static final String COL_MATERIALNAME = "materialName"; + + public static final String COL_MATERIALSPEC = "materialSpec"; + + public static final String COL_MATERIALUNIT = "materialUnit"; + + public static final String COL_SHIPQTY = "shipQty"; + + public static final String COL_REQUESTQTY = "requestQty"; + + public static final String COL_ALLOCATIONRULE = "allocationRule"; + + public static final String COL_REPLENISHMENTRULE = "replenishmentRule"; + + public static final String COL_PICKLOCS = "pickLocs"; + + public static final String COL_ATTRIBUTE1 = "attribute1"; + + public static final String COL_ATTRIBUTE2 = "attribute2"; + + public static final String COL_ATTRIBUTE3 = "attribute3"; + + public static final String COL_ATTRIBUTE4 = "attribute4"; + + public static final String COL_BATCH = "batch"; + + public static final String COL_LOT = "lot"; + + public static final String COL_PROJECTNO = "projectNo"; + + public static final String COL_MANUFACTUREDATE = "manufactureDate"; + + public static final String COL_EXPIRATIONDATE = "expirationDate"; + + public static final String COL_AGINGDATE = "agingDate"; + + public static final String COL_INVENTORYSTS = "inventorySts"; + + public static final String COL_DOCKLOC = "dockLoc"; + + public static final String COL_PACKINGCLASS = "packingClass"; + + public static final String COL_ENABLE = "enable"; + + public static final String COL_WAVEID = "waveId"; + + public static final String COL_CREATED = "created"; + + public static final String COL_CREATEDBY = "createdBy"; + + public static final String COL_LASTUPDATED = "lastUpdated"; + + public static final String COL_LASTUPDATEDBY = "lastUpdatedBy"; + + public static final String COL_VERSION = "version"; + + public static final String COL_USERDEF1 = "userDef1"; + + public static final String COL_USERDEF2 = "userDef2"; + + public static final String COL_USERDEF3 = "userDef3"; + + public static final String COL_PROCESSSTAMP = "processStamp"; + + /** + * 获取出库单内部行号 + * + * @return id - 出库单内部行号 + */ + public Integer getId() { + return id; + } + + /** + * 设置出库单内部行号 + * + * @param id 出库单内部行号 + */ + public void setId(Integer id) { + this.id = id; + } + + /** + * 获取出库单内部号 + * + * @return shipmentId - 出库单内部号 + */ + public Integer getShipmentId() { + return shipmentId; + } + + /** + * 设置出库单内部号 + * + * @param shipmentId 出库单内部号 + */ + public void setShipmentId(Integer shipmentId) { + this.shipmentId = shipmentId; + } + + /** + * 获取仓库 + * + * @return warehouseCode - 仓库 + */ + public String getWarehouseCode() { + return warehouseCode; + } + + /** + * 设置仓库 + * + * @param warehouseCode 仓库 + */ + public void setWarehouseCode(String warehouseCode) { + this.warehouseCode = warehouseCode; + } + + /** + * 获取货主 + * + * @return companyCode - 货主 + */ + public String getCompanyCode() { + return companyCode; + } + + /** + * 设置货主 + * + * @param companyCode 货主 + */ + public void setCompanyCode(String companyCode) { + this.companyCode = companyCode; + } + + /** + * 获取出库单号 + * + * @return shipmentCode - 出库单号 + */ + public String getShipmentCode() { + return shipmentCode; + } + + /** + * 设置出库单号 + * + * @param shipmentCode 出库单号 + */ + public void setShipmentCode(String shipmentCode) { + this.shipmentCode = shipmentCode; + } + + /** + * 获取上游订单号 + * + * @return referCode - 上游订单号 + */ + public String getReferCode() { + return referCode; + } + + /** + * 设置上游订单号 + * + * @param referCode 上游订单号 + */ + public void setReferCode(String referCode) { + this.referCode = referCode; + } + + /** + * 获取上游订单内部号 + * + * @return referId - 上游订单内部号 + */ + public Integer getReferId() { + return referId; + } + + /** + * 设置上游订单内部号 + * + * @param referId 上游订单内部号 + */ + public void setReferId(Integer referId) { + this.referId = referId; + } + + /** + * 获取上游订单行号 + * + * @return referLineNum - 上游订单行号 + */ + public String getReferLineNum() { + return referLineNum; + } + + /** + * 设置上游订单行号 + * + * @param referLineNum 上游订单行号 + */ + public void setReferLineNum(String referLineNum) { + this.referLineNum = referLineNum; + } + + /** + * 获取物料 + * + * @return materialCode - 物料 + */ + public String getMaterialCode() { + return materialCode; + } + + /** + * 设置物料 + * + * @param materialCode 物料 + */ + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + /** + * 获取物料描述 + * + * @return materialName - 物料描述 + */ + public String getMaterialName() { + return materialName; + } + + /** + * 设置物料描述 + * + * @param materialName 物料描述 + */ + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + /** + * 获取物料规格 + * + * @return materialSpec - 物料规格 + */ + public String getMaterialSpec() { + return materialSpec; + } + + /** + * 设置物料规格 + * + * @param materialSpec 物料规格 + */ + public void setMaterialSpec(String materialSpec) { + this.materialSpec = materialSpec; + } + + /** + * 获取物料单位 + * + * @return materialUnit - 物料单位 + */ + public String getMaterialUnit() { + return materialUnit; + } + + /** + * 设置物料单位 + * + * @param materialUnit 物料单位 + */ + public void setMaterialUnit(String materialUnit) { + this.materialUnit = materialUnit; + } + + public BigDecimal getShipQty() { + return shipQty; + } + + public void setShipQty(BigDecimal shipQty) { + this.shipQty = shipQty; + } + + public BigDecimal getRequestQty() { + return requestQty; + } + + public void setRequestQty(BigDecimal requestQty) { + this.requestQty = requestQty; + } + + /** + * 获取分配规则 + * + * @return allocationRule - 分配规则 + */ + public String getAllocationRule() { + return allocationRule; + } + + /** + * 设置分配规则 + * + * @param allocationRule 分配规则 + */ + public void setAllocationRule(String allocationRule) { + this.allocationRule = allocationRule; + } + + /** + * 获取补货规则 + * + * @return replenishmentRule - 补货规则 + */ + public String getReplenishmentRule() { + return replenishmentRule; + } + + /** + * 设置补货规则 + * + * @param replenishmentRule 补货规则 + */ + public void setReplenishmentRule(String replenishmentRule) { + this.replenishmentRule = replenishmentRule; + } + + /** + * 获取拣货货位 + * + * @return pickLocs - 拣货货位 + */ + public String getPickLocs() { + return pickLocs; + } + + /** + * 设置拣货货位 + * + * @param pickLocs 拣货货位 + */ + public void setPickLocs(String pickLocs) { + this.pickLocs = pickLocs; + } + + /** + * 获取属性1 + * + * @return attribute1 - 属性1 + */ + public String getAttribute1() { + return attribute1; + } + + /** + * 设置属性1 + * + * @param attribute1 属性1 + */ + public void setAttribute1(String attribute1) { + this.attribute1 = attribute1; + } + + /** + * 获取属性2 + * + * @return attribute2 - 属性2 + */ + public String getAttribute2() { + return attribute2; + } + + /** + * 设置属性2 + * + * @param attribute2 属性2 + */ + public void setAttribute2(String attribute2) { + this.attribute2 = attribute2; + } + + /** + * 获取属性3 + * + * @return attribute3 - 属性3 + */ + public String getAttribute3() { + return attribute3; + } + + /** + * 设置属性3 + * + * @param attribute3 属性3 + */ + public void setAttribute3(String attribute3) { + this.attribute3 = attribute3; + } + + /** + * 获取属性4 + * + * @return attribute4 - 属性4 + */ + public String getAttribute4() { + return attribute4; + } + + /** + * 设置属性4 + * + * @param attribute4 属性4 + */ + public void setAttribute4(String attribute4) { + this.attribute4 = attribute4; + } + + /** + * 获取批次 + * + * @return batch - 批次 + */ + public String getBatch() { + return batch; + } + + /** + * 设置批次 + * + * @param batch 批次 + */ + public void setBatch(String batch) { + this.batch = batch; + } + + /** + * 获取批号 + * + * @return lot - 批号 + */ + public String getLot() { + return lot; + } + + /** + * 设置批号 + * + * @param lot 批号 + */ + public void setLot(String lot) { + this.lot = lot; + } + + /** + * 获取项目号 + * + * @return projectNo - 项目号 + */ + public String getProjectNo() { + return projectNo; + } + + /** + * 设置项目号 + * + * @param projectNo 项目号 + */ + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + /** + * 获取生产日期 + * + * @return manufactureDate - 生产日期 + */ + public Date getManufactureDate() { + return manufactureDate; + } + + /** + * 设置生产日期 + * + * @param manufactureDate 生产日期 + */ + public void setManufactureDate(Date manufactureDate) { + this.manufactureDate = manufactureDate; + } + + /** + * 获取失效日期 + * + * @return expirationDate - 失效日期 + */ + public Date getExpirationDate() { + return expirationDate; + } + + /** + * 设置失效日期 + * + * @param expirationDate 失效日期 + */ + public void setExpirationDate(Date expirationDate) { + this.expirationDate = expirationDate; + } + + /** + * 获取入库日期 + * + * @return agingDate - 入库日期 + */ + public Date getAgingDate() { + return agingDate; + } + + /** + * 设置入库日期 + * + * @param agingDate 入库日期 + */ + public void setAgingDate(Date agingDate) { + this.agingDate = agingDate; + } + + /** + * 获取库存状态 + * + * @return inventorySts - 库存状态 + */ + public String getInventorySts() { + return inventorySts; + } + + /** + * 设置库存状态 + * + * @param inventorySts 库存状态 + */ + public void setInventorySts(String inventorySts) { + this.inventorySts = inventorySts; + } + + /** + * 获取月台货位 + * + * @return dockLoc - 月台货位 + */ + public String getDockLoc() { + return dockLoc; + } + + /** + * 设置月台货位 + * + * @param dockLoc 月台货位 + */ + public void setDockLoc(String dockLoc) { + this.dockLoc = dockLoc; + } + + /** + * 获取包装分类 + * + * @return packingClass - 包装分类 + */ + public String getPackingClass() { + return packingClass; + } + + /** + * 设置包装分类 + * + * @param packingClass 包装分类 + */ + public void setPackingClass(String packingClass) { + this.packingClass = packingClass; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + /** + * 获取波次号 + * + * @return waveId - 波次号 + */ + public Integer getWaveId() { + return waveId; + } + + /** + * 设置波次号 + * + * @param waveId 波次号 + */ + public void setWaveId(Integer waveId) { + this.waveId = waveId; + } + + /** + * 获取创建时间 + * + * @return created - 创建时间 + */ + public Date getCreated() { + return created; + } + + /** + * 设置创建时间 + * + * @param created 创建时间 + */ + public void setCreated(Date created) { + this.created = created; + } + + /** + * 获取创建用户 + * + * @return createdBy - 创建用户 + */ + public String getCreatedBy() { + return createdBy; + } + + /** + * 设置创建用户 + * + * @param createdBy 创建用户 + */ + public void setCreatedBy(String createdBy) { + this.createdBy = createdBy; + } + + /** + * 获取创建时间 + * + * @return lastUpdated - 创建时间 + */ + public Date getLastUpdated() { + return lastUpdated; + } + + /** + * 设置创建时间 + * + * @param lastUpdated 创建时间 + */ + public void setLastUpdated(Date lastUpdated) { + this.lastUpdated = lastUpdated; + } + + /** + * 获取更新用户 + * + * @return lastUpdatedBy - 更新用户 + */ + public String getLastUpdatedBy() { + return lastUpdatedBy; + } + + /** + * 设置更新用户 + * + * @param lastUpdatedBy 更新用户 + */ + public void setLastUpdatedBy(String lastUpdatedBy) { + this.lastUpdatedBy = lastUpdatedBy; + } + + /** + * 获取数据版本 + * + * @return version - 数据版本 + */ + public Integer getVersion() { + return version; + } + + /** + * 设置数据版本 + * + * @param version 数据版本 + */ + public void setVersion(Integer version) { + this.version = version; + } + + /** + * 获取自定义字段1 + * + * @return userDef1 - 自定义字段1 + */ + public String getUserDef1() { + return userDef1; + } + + /** + * 设置自定义字段1 + * + * @param userDef1 自定义字段1 + */ + public void setUserDef1(String userDef1) { + this.userDef1 = userDef1; + } + + /** + * 获取自定义字段2 + * + * @return userDef2 - 自定义字段2 + */ + public String getUserDef2() { + return userDef2; + } + + /** + * 设置自定义字段2 + * + * @param userDef2 自定义字段2 + */ + public void setUserDef2(String userDef2) { + this.userDef2 = userDef2; + } + + /** + * 获取自定义字段3 + * + * @return userDef3 - 自定义字段3 + */ + public String getUserDef3() { + return userDef3; + } + + /** + * 设置自定义字段3 + * + * @param userDef3 自定义字段3 + */ + public void setUserDef3(String userDef3) { + this.userDef3 = userDef3; + } + + + /** + * 获取处理标记 + * + * @return processStamp - 处理标记 + */ + public String getProcessStamp() { + return processStamp; + } + + /** + * 设置处理标记 + * + * @param processStamp 处理标记 + */ + public void setProcessStamp(String processStamp) { + this.processStamp = processStamp; + } +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/mapper/ShipmentDetailHistoryMapper.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/mapper/ShipmentDetailHistoryMapper.java new file mode 100644 index 0000000..4b45a7a --- /dev/null +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/mapper/ShipmentDetailHistoryMapper.java @@ -0,0 +1,19 @@ +package com.huaheng.pc.shipment.shipmentDetailHistory.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.shipment.shipmentDetailHistory.domain.ShipmentDetailHistory; + +import java.util.List; +import java.util.Map; + + +public interface ShipmentDetailHistoryMapper extends BaseMapper<ShipmentDetailHistory> { + + + List<Map<String,Integer>> SelectFirstStatus(String ids); + + Integer batchDelete(String[] ids); + + Map<String,String> StatisticalByReceiptId(Integer headerId); + +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/service/ShipmentDetailHistoryService.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/service/ShipmentDetailHistoryService.java new file mode 100644 index 0000000..a42b21c --- /dev/null +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/service/ShipmentDetailHistoryService.java @@ -0,0 +1,12 @@ +package com.huaheng.pc.shipment.shipmentDetailHistory.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.pc.shipment.shipmentDetailHistory.domain.ShipmentDetailHistory; + +public interface ShipmentDetailHistoryService extends IService<ShipmentDetailHistory>{ + + AjaxResult deleteDetail(String id); + + +} diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/service/ShipmentDetailHistoryServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/service/ShipmentDetailHistoryServiceImpl.java new file mode 100644 index 0000000..c7bda6c --- /dev/null +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/service/ShipmentDetailHistoryServiceImpl.java @@ -0,0 +1,72 @@ +package com.huaheng.pc.shipment.shipmentDetailHistory.service; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.common.utils.DataUtils; +import com.huaheng.common.utils.StringUtils; +import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.pc.shipment.shipmentDetailHistory.domain.ShipmentDetailHistory; +import com.huaheng.pc.shipment.shipmentDetailHistory.mapper.ShipmentDetailHistoryMapper; +import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; +import com.huaheng.pc.shipment.shipmentHeaderHistory.domain.ShipmentHeaderHistory; +import com.huaheng.pc.shipment.shipmentHeaderHistory.service.ShipmentHeaderHistoryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Service +public class ShipmentDetailHistoryServiceImpl extends ServiceImpl<ShipmentDetailHistoryMapper, ShipmentDetailHistory> implements ShipmentDetailHistoryService { + + + @Resource + private ShipmentDetailHistoryMapper shipmentDetailHistoryMapper; + @Autowired + private ShipmentHeaderHistoryService shipmentHeaderHistoryService; + + /** + * 删除出库单据明细 + * + * @param id + * @return + */ + @Override + @Transactional + public AjaxResult deleteDetail(String id) { + if (StringUtils.isEmpty(id)) + return AjaxResult.error("id不能为空"); + String[] ids = id.split(","); + List<Map<String,Integer>> list = shipmentDetailHistoryMapper.SelectFirstStatus(id); + if (list.size() < 1) { + return AjaxResult.error("找不到主单据!"); + } + if (list.size() > 1) { + return AjaxResult.error("有多个主单据,不能一起删除!"); + } + if (list.get(0).get("firstStatus") > 100) { + return AjaxResult.error("单据状进入订单池,不允许删除明细"); + } + Integer result = shipmentDetailHistoryMapper.batchDelete(ids); + if (result > 0) { + Integer headerId=list.get(0).get("id"); + Map<String,String> map= shipmentDetailHistoryMapper.StatisticalByReceiptId(headerId); + if(DataUtils.getInteger(map.get("totalLines")) <= 0) { + shipmentHeaderHistoryService.removeById(headerId); + } + else { + //更新表头的总行数和总数量统计 + ShipmentHeaderHistory shipmentHeaderHistory = new ShipmentHeaderHistory(); + shipmentHeaderHistory.setId(headerId); + shipmentHeaderHistory.setTotalLines(DataUtils.getInteger(map.get("totalLines"))); + shipmentHeaderHistory.setTotalQty(DataUtils.getBigDecimal(map.get("totalQty"))); + shipmentHeaderHistoryService.saveOrUpdate(shipmentHeaderHistory); + } + return AjaxResult.success("删除单据明细成功"); + } + else + return AjaxResult.error("删除单据明细失败"); + } +} diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java index 58964d5..6cdaaeb 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; @@ -11,7 +12,6 @@ import com.huaheng.framework.aspectj.lang.annotation.Log; import com.huaheng.framework.aspectj.lang.constant.BusinessType; import com.huaheng.framework.web.controller.BaseController; import com.huaheng.framework.web.domain.AjaxResult; -import com.huaheng.framework.web.domain.RetCode; import com.huaheng.framework.web.page.PageDomain; import com.huaheng.framework.web.page.TableDataInfo; import com.huaheng.framework.web.page.TableSupport; @@ -22,9 +22,11 @@ import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; +import java.lang.reflect.InvocationTargetException; import java.util.List; @@ -44,7 +46,6 @@ public class ShipmentHeaderController extends BaseController private ShipmentHeaderService shipmentHeaderService; @Autowired private ShipmentDetailService shipmentDetailService; - @RequiresPermissions("shipment:bill:view") @GetMapping() @@ -155,18 +156,25 @@ public class ShipmentHeaderController extends BaseController @Log(title = "出库-出库单", operating="删除出库主单", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody - public AjaxResult remove(String ids) { + @Transactional + public AjaxResult remove(String ids) throws InvocationTargetException, IllegalAccessException { if (StringUtils.isEmpty(ids)) return AjaxResult.error("id不能为空"); for (Integer id : Convert.toIntArray(ids)) { - ShipmentHeader shipmentHeader=new ShipmentHeader(); - shipmentHeader.setId(id); + ShipmentHeader shipmentHeader=shipmentHeaderService.getById(id); + + //出库单设定为历史出库单,并删除出库单 + shipmentHeaderService.addHistory(shipmentHeader); shipmentHeader.setDeleted(true); - boolean result=shipmentHeaderService.updateById(shipmentHeader); + boolean result=shipmentHeaderService.removeById(id); if(result==false){ - return AjaxResult.error("删除失败"); + throw new ServiceException("删除失败"); } + LambdaQueryWrapper<ShipmentDetail> shipmentDetailLambdaQueryWrapper=Wrappers.lambdaQuery(); + shipmentDetailLambdaQueryWrapper.eq(ShipmentDetail::getShipmentCode,shipmentHeader.getCode()) + .eq(ShipmentDetail::getWarehouseCode,shipmentHeader.getWarehouseCode()); + shipmentDetailService.remove(shipmentDetailLambdaQueryWrapper); } return AjaxResult.success("删除成功!"); } diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java index 3f8ff3f..0120581 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java @@ -3,6 +3,9 @@ package com.huaheng.pc.shipment.shipmentHeader.service; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; import com.baomidou.mybatisplus.extension.service.IService; + +import java.lang.reflect.InvocationTargetException; + public interface ShipmentHeaderService extends IService<ShipmentHeader>{ //新增出库主单 @@ -15,4 +18,6 @@ public interface ShipmentHeaderService extends IService<ShipmentHeader>{ //根据Id更新这个单据的首尾状态 AjaxResult updateShipmentStatus(int shipmentId); + AjaxResult addHistory(ShipmentHeader shipmentHeader) throws InvocationTargetException, IllegalAccessException; + } diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java index a4bffa4..24425d6 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java @@ -1,14 +1,25 @@ package com.huaheng.pc.shipment.shipmentHeader.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.pc.shipment.shipmentContainerHeader.service.ShipmentContainerHeaderService; +import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService; +import com.huaheng.pc.shipment.shipmentDetailHistory.domain.ShipmentDetailHistory; +import com.huaheng.pc.shipment.shipmentDetailHistory.service.ShipmentDetailHistoryService; +import com.huaheng.pc.shipment.shipmentHeaderHistory.domain.ShipmentHeaderHistory; +import com.huaheng.pc.shipment.shipmentHeaderHistory.service.ShipmentHeaderHistoryService; import com.huaheng.pc.system.dict.service.IDictDataService; +import org.apache.commons.beanutils.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.lang.reflect.InvocationTargetException; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -17,6 +28,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; import com.huaheng.pc.shipment.shipmentHeader.mapper.ShipmentHeaderMapper; import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService; +import org.springframework.transaction.annotation.Transactional; + @Service public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, ShipmentHeader> implements ShipmentHeaderService{ @@ -28,6 +41,11 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, private ShipmentDetailService shipmentDetailService; @Autowired private ShipmentContainerHeaderService shipmentContainerHeaderService; + @Autowired + private ShipmentHeaderHistoryService shipmentHeaderHistoryService; + @Autowired + private ShipmentDetailHistoryService shipmentDetailHistoryService; + //新增出库主单 @@ -122,4 +140,33 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, return AjaxResult.success(""); } + + //出库单字段变为历史出库单 + @Override + @Transactional + public AjaxResult addHistory(ShipmentHeader shipmentHeader) throws InvocationTargetException, IllegalAccessException { + //历史出库主单 + ShipmentHeaderHistory shipmentHeaderHistory=new ShipmentHeaderHistory(); + BeanUtils.copyProperties(shipmentHeaderHistory,shipmentHeader); + if(shipmentHeaderHistoryService.save(shipmentHeaderHistory)==false){ + throw new ServiceException("存入历史出库主单失败"); + } + LambdaQueryWrapper<ShipmentDetail> lambdaQueryWrapper=Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(ShipmentDetail::getWarehouseCode,shipmentHeader.getWarehouseCode()) + .eq(ShipmentDetail::getShipmentCode,shipmentHeader.getCode()); + List<ShipmentDetail> shipmentDetails=shipmentDetailService.list(lambdaQueryWrapper); + + //历史出库子单 + List<ShipmentDetailHistory> shipmentDetailHistories=new ArrayList<>(); + for(ShipmentDetail item:shipmentDetails){ + ShipmentDetailHistory shipmentDetailHistory=new ShipmentDetailHistory(); + BeanUtils.copyProperties(shipmentDetailHistory,item); + shipmentDetailHistories.add(shipmentDetailHistory); + } + Boolean flag=shipmentDetailHistoryService.saveBatch(shipmentDetailHistories); + if(flag==false){ + throw new ServiceException("存入历史出库子单失败"); + } + return null; + } } diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/controller/ShipmentHeaderHistoryController.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/controller/ShipmentHeaderHistoryController.java index 3ae9ba0..339ff29 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/controller/ShipmentHeaderHistoryController.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/controller/ShipmentHeaderHistoryController.java @@ -14,10 +14,10 @@ import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.framework.web.page.PageDomain; import com.huaheng.framework.web.page.TableDataInfo; import com.huaheng.framework.web.page.TableSupport; -import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; -import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService; -import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; -import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService; +import com.huaheng.pc.shipment.shipmentDetailHistory.domain.ShipmentDetailHistory; +import com.huaheng.pc.shipment.shipmentDetailHistory.service.ShipmentDetailHistoryService; +import com.huaheng.pc.shipment.shipmentHeaderHistory.domain.ShipmentHeaderHistory; +import com.huaheng.pc.shipment.shipmentHeaderHistory.service.ShipmentHeaderHistoryService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -40,14 +40,14 @@ public class ShipmentHeaderHistoryController extends BaseController private String prefix = "shipment/shipmentHeaderHistory"; @Autowired - private ShipmentHeaderService shipmentHeaderService; + private ShipmentHeaderHistoryService shipmentHeaderHistoryService; @Autowired - private ShipmentDetailService shipmentDetailService; + private ShipmentDetailHistoryService shipmentDetailHistoryService; @RequiresPermissions("shipment:bill:view") @GetMapping() - public String shipmentHeader() + public String shipmentHeaderHistory() { return prefix + "/shipmentHeaderHistory"; } @@ -56,38 +56,38 @@ public class ShipmentHeaderHistoryController extends BaseController * 查询出库单主列表 */ @RequiresPermissions("shipment:bill:list") - @Log(title = "出库-出库单", operating="查看出库主单", action = BusinessType.GRANT) + @Log(title = "出库-出库单历史", operating="查看历史出库主单", action = BusinessType.GRANT) @PostMapping("/list") @ResponseBody - public TableDataInfo list(ShipmentHeader shipmentHeader,String createdBegin, String createdEnd) + public TableDataInfo list(ShipmentHeaderHistory shipmentHeaderHistory, String createdBegin, String createdEnd) { - LambdaQueryWrapper<ShipmentHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); + LambdaQueryWrapper<ShipmentHeaderHistory> lambdaQueryWrapper = Wrappers.lambdaQuery(); PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); - lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin),ShipmentHeader::getCreated, createdBegin) - .le(StringUtils.isNotEmpty(createdEnd), ShipmentHeader::getCreated, createdEnd) - .eq(ShipmentHeader::getWarehouseCode,ShiroUtils.getWarehouseCode()) - .eq(ShipmentHeader::getDeleted,true) - .in(ShipmentHeader::getCompanyCode,ShiroUtils.getCompanyCodeList()) - .eq(StringUtils.isNotEmpty(shipmentHeader.getCode()),ShipmentHeader::getCode,shipmentHeader.getCode()) - .eq(StringUtils.isNotEmpty(shipmentHeader.getShipmentType()),ShipmentHeader::getShipmentType,shipmentHeader.getShipmentType()) - .eq(StringUtils.isNotEmpty(shipmentHeader.getReferCode()), ShipmentHeader::getReferCode, shipmentHeader.getReferCode()) - .eq(StringUtils.isNotEmpty(shipmentHeader.getReferCodeType()), ShipmentHeader::getReferCodeType, shipmentHeader.getReferCodeType()) - .eq(shipmentHeader.getFirstStatus()!=null, ShipmentHeader::getFirstStatus, shipmentHeader.getFirstStatus()) - .eq(shipmentHeader.getLastStatus()!=null, ShipmentHeader::getLastStatus, shipmentHeader.getLastStatus()) - .orderByDesc(ShipmentHeader::getId); + lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin),ShipmentHeaderHistory::getCreated, createdBegin) + .le(StringUtils.isNotEmpty(createdEnd), ShipmentHeaderHistory::getCreated, createdEnd) + .eq(ShipmentHeaderHistory::getWarehouseCode,ShiroUtils.getWarehouseCode()) + .eq(ShipmentHeaderHistory::getDeleted,false) + .in(ShipmentHeaderHistory::getCompanyCode,ShiroUtils.getCompanyCodeList()) + .eq(StringUtils.isNotEmpty(shipmentHeaderHistory.getCode()),ShipmentHeaderHistory::getCode,shipmentHeaderHistory.getCode()) + .eq(StringUtils.isNotEmpty(shipmentHeaderHistory.getShipmentType()),ShipmentHeaderHistory::getShipmentType,shipmentHeaderHistory.getShipmentType()) + .eq(StringUtils.isNotEmpty(shipmentHeaderHistory.getReferCode()), ShipmentHeaderHistory::getReferCode, shipmentHeaderHistory.getReferCode()) + .eq(StringUtils.isNotEmpty(shipmentHeaderHistory.getReferCodeType()), ShipmentHeaderHistory::getReferCodeType, shipmentHeaderHistory.getReferCodeType()) + .eq(shipmentHeaderHistory.getFirstStatus()!=null, ShipmentHeaderHistory::getFirstStatus, shipmentHeaderHistory.getFirstStatus()) + .eq(shipmentHeaderHistory.getLastStatus()!=null, ShipmentHeaderHistory::getLastStatus, shipmentHeaderHistory.getLastStatus()) + .orderByDesc(ShipmentHeaderHistory::getId); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ /** * 使用分页查询 */ - Page<ShipmentHeader> page = new Page<>(pageNum, pageSize); - IPage<ShipmentHeader> iPage = shipmentHeaderService.page(page, lambdaQueryWrapper); + Page<ShipmentHeaderHistory> page = new Page<>(pageNum, pageSize); + IPage<ShipmentHeaderHistory> iPage = shipmentHeaderHistoryService.page(page, lambdaQueryWrapper); return getMpDataTable(iPage.getRecords(),iPage.getTotal()); } else { - List<ShipmentHeader> list = shipmentHeaderService.list(lambdaQueryWrapper); + List<ShipmentHeaderHistory> list = shipmentHeaderHistoryService.list(lambdaQueryWrapper); return getDataTable(list); } } @@ -97,7 +97,7 @@ public class ShipmentHeaderHistoryController extends BaseController * 删除出库单主 */ @RequiresPermissions("shipment:bill:remove") - @Log(title = "出库-出库单", operating="删除出库主单", action = BusinessType.DELETE) + @Log(title = "出库-历史出库单", operating="删除历史出库主单", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { @@ -105,12 +105,12 @@ public class ShipmentHeaderHistoryController extends BaseController return AjaxResult.error("id不能为空"); for (Integer id : Convert.toIntArray(ids)) { - boolean result=shipmentHeaderService.removeById(id); - LambdaQueryWrapper<ShipmentDetail> lambdaQueryWrapper=Wrappers.lambdaQuery(); - lambdaQueryWrapper.eq(ShipmentDetail::getShipmentId,id) - .eq(ShipmentDetail::getWarehouseCode,ShiroUtils.getWarehouseCode()); + boolean result=shipmentHeaderHistoryService.removeById(id); + LambdaQueryWrapper<ShipmentDetailHistory> lambdaQueryWrapper=Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(ShipmentDetailHistory::getShipmentId,id) + .eq(ShipmentDetailHistory::getWarehouseCode,ShiroUtils.getWarehouseCode()); Boolean flag=true; - flag=shipmentDetailService.remove(lambdaQueryWrapper); + flag=shipmentDetailHistoryService.remove(lambdaQueryWrapper); if(flag==false){ return AjaxResult.error("删除失败"); } @@ -126,17 +126,17 @@ public class ShipmentHeaderHistoryController extends BaseController * @return */ @RequiresPermissions("shipment:bill:report") - @Log(title = "出库-出库单", operating="打印出库单报表", action = BusinessType.OTHER) + @Log(title = "出库-历史出库单", operating="打印历史出库单报表", action = BusinessType.OTHER) @GetMapping("/report/{id}") public String report(@PathVariable("id") Integer id, ModelMap mmap) { - ShipmentHeader shipmentHeader = shipmentHeaderService.getById(id); - mmap.put("shipmentHeader", shipmentHeader); + ShipmentHeaderHistory shipmentHeaderHistory = shipmentHeaderHistoryService.getById(id); + mmap.put("shipmentHeader", shipmentHeaderHistory); - LambdaQueryWrapper<ShipmentDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); - lambdaQueryWrapper.eq(ShipmentDetail::getShipmentId,id) - .eq(ShipmentDetail::getWarehouseCode,ShiroUtils.getWarehouseCode()); - List<ShipmentDetail> details = shipmentDetailService.list(lambdaQueryWrapper); + LambdaQueryWrapper<ShipmentDetailHistory> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(ShipmentDetailHistory::getShipmentId,id) + .eq(ShipmentDetailHistory::getWarehouseCode,ShiroUtils.getWarehouseCode()); + List<ShipmentDetailHistory> details = shipmentDetailHistoryService.list(lambdaQueryWrapper); mmap.put("details", details); return prefix + "/report"; @@ -144,8 +144,8 @@ public class ShipmentHeaderHistoryController extends BaseController @PostMapping("/getShipmentHeader") @ResponseBody - public AjaxResult<ShipmentHeader> getShipmentHeader(int id){ - return AjaxResult.success(shipmentHeaderService.getById(id)); + public AjaxResult<ShipmentHeaderHistory> getShipmentHeader(int id){ + return AjaxResult.success(shipmentHeaderHistoryService.getById(id)); } diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/domain/ShipmentHeaderHistory.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/domain/ShipmentHeaderHistory.java new file mode 100644 index 0000000..c175a29 --- /dev/null +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/domain/ShipmentHeaderHistory.java @@ -0,0 +1,473 @@ +package com.huaheng.pc.shipment.shipmentHeaderHistory.domain; + +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 io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +@ApiModel(value = "com.huaheng.pc.shipment.shipmentHeaderHistory.domain.ShipmentHeaderHistory") +@Data +@TableName(value = "shipment_header_history") +public class ShipmentHeaderHistory implements Serializable { + /** + * 出库单内部号 + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "出库单内部号") + private Integer id; + + /** + * 仓库 + */ + @TableField(value = "warehouseCode") + @ApiModelProperty(value = "仓库") + private String warehouseCode; + + /** + * 货主 + */ + @TableField(value = "companyCode") + @ApiModelProperty(value = "货主") + private String companyCode; + + + + /** + * 出库单号 + */ + @TableField(value = "code") + @ApiModelProperty(value = "出库单号") + private String code; + + /** + * erp订单号 + */ + @TableField(value = "referCode") + @ApiModelProperty(value = "erp订单号") + private String referCode; + + /** + * erp订单类型 + */ + @TableField(value = "referCodeType") + @ApiModelProperty(value = "erp订单类型") + private String referCodeType; + + /** + * erp订单内部号 + */ + @TableField(value = "referId") + @ApiModelProperty(value = "erp订单内部号") + private Integer referId; + + /** + * 订单平台 + */ + @TableField(value = "referPlatform") + @ApiModelProperty(value = "订单平台") + private Integer referPlatform; + + /** + * 主状态 + */ + @TableField(value = "firstStatus") + @ApiModelProperty(value = "主状态") + private Integer firstStatus; + + /** + * 拖状态 + */ + @TableField(value = "lastStatus") + @ApiModelProperty(value = "拖状态") + private Integer lastStatus; + + /** + * 出库单类型 + */ + @TableField(value = "shipmentType") + @ApiModelProperty(value = "出库单类型") + private String shipmentType; + + /** + * 路线 + */ + @TableField(value = "route") + @ApiModelProperty(value = "路线") + private String route; + + /** + * 客户编号 + */ + @TableField(value = "customerCode") + @ApiModelProperty(value = "客户编号") + private String customerCode; + + /** + * 客户名称 + */ + @TableField(value = "customerName") + @ApiModelProperty(value = "客户名称") + private String customerName; + + /** + * 优先级 + */ + @TableField(value = "priority") + @ApiModelProperty(value = "优先级") + private Integer priority; + + /** + * 要求到货时间 + */ + @TableField(value = "requestedDeliveryDate") + @ApiModelProperty(value = "要求到货时间") + private Date requestedDeliveryDate; + + + + /** + * 计划发车日期 + */ + @TableField(value = "scheduledShipDate") + @ApiModelProperty(value = "计划发车日期") + private Date scheduledShipDate; + + /** + * 实际发车时间 + */ + @TableField(value = "actualShipDateTime") + @ApiModelProperty(value = "实际发车时间") + private Date actualShipDateTime; + + /** + * 实际到货时间 + */ + @TableField(value = "actualDeliveryDate") + @ApiModelProperty(value = "实际到货时间") + private Date actualDeliveryDate; + + /** + * 配送要求 + */ + @TableField(value = "deliveryNote") + @ApiModelProperty(value = "配送要求") + private String deliveryNote; + + /** + * 失败原因 + */ + @TableField(value = "rejectionNote") + @ApiModelProperty(value = "失败原因") + private String rejectionNote; + + /** + * 波次号 + */ + @TableField(value = "waveId") + @ApiModelProperty(value = "波次号") + private Integer waveId; + + /** + * 发货月台 + */ + @TableField(value = "shipDock") + @ApiModelProperty(value = "发货月台") + private String shipDock; + + /** + * 分配完成 + */ + @TableField(value = "allocateComplete") + @ApiModelProperty(value = "分配完成") + private Integer allocateComplete; + + /** + * 总重量 + */ + @TableField(value = "totalWeight") + @ApiModelProperty(value = "总重量") + private BigDecimal totalWeight; + + /** + * 总数量 + */ + @TableField(value = "totalQty") + @ApiModelProperty(value = "总数量") + private BigDecimal totalQty; + + /** + * 总体积 + */ + @TableField(value = "totalVolume") + @ApiModelProperty(value = "总体积") + private BigDecimal totalVolume; + + /** + * 总行数 + */ + @TableField(value = "totalLines") + @ApiModelProperty(value = "总行数") + private Integer totalLines; + + + + /** + * 处理类型 + */ + @TableField(value = "processType") + @ApiModelProperty(value = "处理类型") + private String processType; + + /** + * 上次波次号 + */ + @TableField(value = "lastWaveId") + @ApiModelProperty(value = "上次波次号") + private Integer lastWaveId; + + /** + * 特征值 + */ + @TableField(value = "signValue") + @ApiModelProperty(value = "特征值") + private String signValue; + + /** + * 承运人 + */ + @TableField(value = "carrierCode") + @ApiModelProperty(value = "承运人") + private String carrierCode; + + /** + * 承运人服务商 + */ + @TableField(value = "carrierService") + @ApiModelProperty(value = "承运人服务商") + private String carrierService; + + /** + * 订单备注 + */ + @TableField(value = "shipmentNote") + @ApiModelProperty(value = "订单备注") + private String shipmentNote; + + /** + * 承运商编码 + */ + @TableField(value = "carrierServer") + @ApiModelProperty(value = "承运商编码") + private String carrierServer; + + /** + * 承运商名称 + */ + @TableField(value = "carrierServerName") + @ApiModelProperty(value = "承运商名称") + private String carrierServerName; + + /** + * 车牌号 + */ + @TableField(value = "plateNumber") + @ApiModelProperty(value = "车牌号") + private String plateNumber; + + /** + * 车型 + */ + @TableField(value = "carModel") + @ApiModelProperty(value = "车型") + private String carModel; + + /** + * 司机名称 + */ + @TableField(value = "driverName") + @ApiModelProperty(value = "司机名称") + private String driverName; + + /** + * 司机联系方式 + */ + @TableField(value = "driverTel") + @ApiModelProperty(value = "司机联系方式") + private String driverTel; + + /** + * 创建时间 + */ + @TableField(value = "created") + @ApiModelProperty(value = "创建时间") + private Date created; + + /** + * 创建用户 + */ + @TableField(value = "createdBy") + @ApiModelProperty(value = "创建用户") + private String createdBy; + + /** + * 创建时间 + */ + @TableField(value = "lastUpdated") + @ApiModelProperty(value = "创建时间") + private Date lastUpdated; + + /** + * 更新用户 + */ + @TableField(value = "lastUpdatedBy") + @ApiModelProperty(value = "更新用户") + private String lastUpdatedBy; + + /** + * 数据版本 + */ + @TableField(value = "version") + @ApiModelProperty(value = "数据版本") + private Integer version; + + /** + * 自定义字段1 + */ + @TableField(value = "userDef1") + @ApiModelProperty(value = "自定义字段1") + private String userDef1; + + /** + * 自定义字段2 + */ + @TableField(value = "userDef2") + @ApiModelProperty(value = "自定义字段2") + private String userDef2; + + /** + * 自定义字段3 + */ + @TableField(value = "userDef3") + @ApiModelProperty(value = "自定义字段3") + private String userDef3; + /** + * 处理标记 + */ + @TableField(value = "processStamp") + @ApiModelProperty(value = "处理标记") + private String processStamp; + + /** + * 是否删除 + */ + @TableField(value = "deleted") + @ApiModelProperty(value = "是否删除") + private Boolean deleted; + + private static final long serialVersionUID = 1L; + + public static final String COL_WAREHOUSECODE = "warehouseCode"; + + public static final String COL_COMPANYCODE = "companyCode"; + + public static final String COL_CODE = "code"; + + public static final String COL_REFERCODE = "referCode"; + + public static final String COL_REFERCODETYPE = "referCodeType"; + + public static final String COL_REFERID = "referId"; + + public static final String COL_REFERPLATFORM = "referPlatform"; + + public static final String COL_FIRSTSTATUS = "firstStatus"; + + public static final String COL_LASTSTATUS = "lastStatus"; + + public static final String COL_SHIPMENTTYPE = "shipmentType"; + + public static final String COL_ROUTE = "route"; + + public static final String COL_CUSTOMERCODE = "customerCode"; + + public static final String COL_CUSTOMERNAME = "customerName"; + + public static final String COL_PRIORITY = "priority"; + + public static final String COL_REQUESTEDDELIVERYDATE = "requestedDeliveryDate"; + + public static final String COL_SCHEDULEDSHIPDATE = "scheduledShipDate"; + + public static final String COL_ACTUALSHIPDATETIME = "actualShipDateTime"; + + public static final String COL_ACTUALDELIVERYDATE = "actualDeliveryDate"; + + public static final String COL_DELIVERYNOTE = "deliveryNote"; + + public static final String COL_REJECTIONNOTE = "rejectionNote"; + + public static final String COL_WAVEID = "waveId"; + + public static final String COL_SHIPDOCK = "shipDock"; + + public static final String COL_ALLOCATECOMPLETE = "allocateComplete"; + + public static final String COL_TOTALWEIGHT = "totalWeight"; + + public static final String COL_TOTALQTY = "totalQty"; + + public static final String COL_TOTALVOLUME = "totalVolume"; + + public static final String COL_TOTALLINES = "totalLines"; + + public static final String COL_PROCESSTYPE = "processType"; + + public static final String COL_LASTWAVEID = "lastWaveId"; + + public static final String COL_SIGNVALUE = "signValue"; + + public static final String COL_CARRIERCODE = "carrierCode"; + + public static final String COL_CARRIERSERVICE = "carrierService"; + + public static final String COL_SHIPMENTNOTE = "shipmentNote"; + + public static final String COL_CARRIERSERVER = "carrierServer"; + + public static final String COL_CARRIERSERVERNAME = "carrierServerName"; + + public static final String COL_PLATENUMBER = "plateNumber"; + + public static final String COL_CARMODEL = "carModel"; + + public static final String COL_DRIVERNAME = "driverName"; + + public static final String COL_DRIVERTEL = "driverTel"; + + public static final String COL_CREATED = "created"; + + public static final String COL_CREATEDBY = "createdBy"; + + public static final String COL_LASTUPDATED = "lastUpdated"; + + public static final String COL_LASTUPDATEDBY = "lastUpdatedBy"; + + public static final String COL_VERSION = "version"; + + public static final String COL_USERDEF1 = "userDef1"; + + public static final String COL_USERDEF2 = "userDef2"; + + public static final String COL_USERDEF3 = "userDef3"; + + public static final String COL_PROCESSSTAMP = "processStamp"; + + public static final String COL_DELETED = "deleted"; +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/mapper/ShipmentHeaderHistoryMapper.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/mapper/ShipmentHeaderHistoryMapper.java new file mode 100644 index 0000000..1acc14f --- /dev/null +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/mapper/ShipmentHeaderHistoryMapper.java @@ -0,0 +1,10 @@ +package com.huaheng.pc.shipment.shipmentHeaderHistory.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.shipment.shipmentHeaderHistory.domain.ShipmentHeaderHistory; + +public interface ShipmentHeaderHistoryMapper extends BaseMapper<ShipmentHeaderHistory> { + + + +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/service/ShipmentHeaderHistoryService.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/service/ShipmentHeaderHistoryService.java new file mode 100644 index 0000000..476eda0 --- /dev/null +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/service/ShipmentHeaderHistoryService.java @@ -0,0 +1,9 @@ +package com.huaheng.pc.shipment.shipmentHeaderHistory.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.huaheng.pc.shipment.shipmentHeaderHistory.domain.ShipmentHeaderHistory; + +public interface ShipmentHeaderHistoryService extends IService<ShipmentHeaderHistory>{ + + +} diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/service/ShipmentHeaderHistoryServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/service/ShipmentHeaderHistoryServiceImpl.java new file mode 100644 index 0000000..b3eebab --- /dev/null +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/service/ShipmentHeaderHistoryServiceImpl.java @@ -0,0 +1,13 @@ +package com.huaheng.pc.shipment.shipmentHeaderHistory.service; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.pc.shipment.shipmentHeaderHistory.domain.ShipmentHeaderHistory; +import com.huaheng.pc.shipment.shipmentHeaderHistory.mapper.ShipmentHeaderHistoryMapper; +import org.springframework.stereotype.Service; + + +@Service +public class ShipmentHeaderHistoryServiceImpl extends ServiceImpl<ShipmentHeaderHistoryMapper, ShipmentHeaderHistory> implements ShipmentHeaderHistoryService { + +} diff --git a/src/main/resources/mybatis/config/MaterialTypeMapper.xml b/src/main/resources/mybatis/config/MaterialTypeMapper.xml new file mode 100644 index 0000000..148e900 --- /dev/null +++ b/src/main/resources/mybatis/config/MaterialTypeMapper.xml @@ -0,0 +1,51 @@ +<?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.huaheng.pc.config.materialType.mapper.MaterialTypeMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.config.materialType.domain.MaterialType"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="code" jdbcType="VARCHAR" property="code" /> + <result column="name" jdbcType="VARCHAR" property="name" /> + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="abcClass" jdbcType="VARCHAR" property="abcClass" /> + <result column="daysToExpire" jdbcType="INTEGER" property="daysToExpire" /> + <result column="receivingFlow" jdbcType="VARCHAR" property="receivingFlow" /> + <result column="shippingFlow" jdbcType="VARCHAR" property="shippingFlow" /> + <result column="locatingRule" jdbcType="VARCHAR" property="locatingRule" /> + <result column="allocationRule" jdbcType="VARCHAR" property="allocationRule" /> + <result column="replenishmentRule" jdbcType="VARCHAR" property="replenishmentRule" /> + <result column="emptyLocRule" jdbcType="VARCHAR" property="emptyLocRule" /> + <result column="pickingRule" jdbcType="VARCHAR" property="pickingRule" /> + <result column="attributeTemplateCode" jdbcType="VARCHAR" property="attributeTemplateCode" /> + <result column="trackSerialNum" jdbcType="INTEGER" property="trackSerialNum" /> + <result column="autoGenSerialNum" jdbcType="INTEGER" property="autoGenSerialNum" /> + <result column="autoGenSerialNumFormat" jdbcType="VARCHAR" property="autoGenSerialNumFormat" /> + <result column="snTemplateCode" jdbcType="VARCHAR" property="snTemplateCode" /> + <result column="expiringDays" jdbcType="INTEGER" property="expiringDays" /> + <result column="minShelfLifeDays" jdbcType="INTEGER" property="minShelfLifeDays" /> + <result column="enable" jdbcType="INTEGER" property="enable" /> + <result column="created" jdbcType="TIMESTAMP" property="created" /> + <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> + <result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated" /> + <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" /> + <result column="version" jdbcType="INTEGER" property="version" /> + <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> + <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> + <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> + <result column="userDef4" jdbcType="VARCHAR" property="userDef4" /> + <result column="userDef5" jdbcType="VARCHAR" property="userDef5" /> + <result column="userDef6" jdbcType="VARCHAR" property="userDef6" /> + <result column="userDef7" jdbcType="VARCHAR" property="userDef7" /> + <result column="userDef8" jdbcType="VARCHAR" property="userDef8" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, code, `name`, companyCode, warehouseCode, abcClass, daysToExpire, receivingFlow, + shippingFlow, locatingRule, allocationRule, replenishmentRule, emptyLocRule, pickingRule, + attributeTemplateCode, trackSerialNum, autoGenSerialNum, autoGenSerialNumFormat, + snTemplateCode, expiringDays, minShelfLifeDays, `enable`, created, createdBy, lastUpdated, + lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, + userDef7, userDef8 + </sql> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/inventory/AdjustDetailMapper.xml b/src/main/resources/mybatis/inventory/AdjustDetailMapper.xml new file mode 100644 index 0000000..0fa741e --- /dev/null +++ b/src/main/resources/mybatis/inventory/AdjustDetailMapper.xml @@ -0,0 +1,47 @@ +<?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.huaheng.pc.inventory.adjustDetail.mapper.AdjustDetailMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="adjustCode" jdbcType="VARCHAR" property="adjustCode" /> + <result column="cycleCountCode" jdbcType="VARCHAR" property="cycleCountCode" /> + <result column="cycleDetailId" jdbcType="INTEGER" property="cycleDetailId" /> + <result column="checkCode" jdbcType="VARCHAR" property="checkCode" /> + <result column="checkDetailId" jdbcType="VARCHAR" property="checkDetailId" /> + <result column="referCode" jdbcType="VARCHAR" property="referCode" /> + <result column="referDetailId" jdbcType="INTEGER" property="referDetailId" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> + <result column="materialCode" jdbcType="VARCHAR" property="materialCode" /> + <result column="materialName" jdbcType="VARCHAR" property="materialName" /> + <result column="materialSpec" jdbcType="VARCHAR" property="materialSpec" /> + <result column="materialUnit" jdbcType="VARCHAR" property="materialUnit" /> + <result column="problemType" jdbcType="VARCHAR" property="problemType" /> + <result column="attributeId" jdbcType="INTEGER" property="attributeId" /> + <result column="fromInventorySts" jdbcType="VARCHAR" property="fromInventorySts" /> + <result column="toInventorySts" jdbcType="VARCHAR" property="toInventorySts" /> + <result column="fromQty" jdbcType="INTEGER" property="fromQty" /> + <result column="toQty" jdbcType="INTEGER" property="toQty" /> + <result column="gapQty" jdbcType="INTEGER" property="gapQty" /> + <result column="status" jdbcType="INTEGER" property="status" /> + <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> + <result column="created" jdbcType="TIMESTAMP" property="created" /> + <result column="agreeBy" jdbcType="VARCHAR" property="agreeBy" /> + <result column="agreeTime" jdbcType="TIMESTAMP" property="agreeTime" /> + <result column="Remark" jdbcType="VARCHAR" property="remark" /> + <result column="version" jdbcType="INTEGER" property="version" /> + <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> + <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> + <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> + <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, adjustCode, cycleCountCode, cycleDetailId, checkCode, checkDetailId, referCode, + referDetailId, warehouseCode, companyCode, materialCode, materialName, + materialSpec, materialUnit, problemType, attributeId, fromInventorySts, toInventorySts, + fromQty, toQty, gapQty, `status`, created, createdBy, agreeTime, Remark, + version, userDef1, userDef2, userDef3, processStamp + </sql> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/inventory/AdjustHeaderMapper.xml b/src/main/resources/mybatis/inventory/AdjustHeaderMapper.xml new file mode 100644 index 0000000..313341b --- /dev/null +++ b/src/main/resources/mybatis/inventory/AdjustHeaderMapper.xml @@ -0,0 +1,28 @@ +<?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.huaheng.pc.inventory.adjustHeader.mapper.AdjustHeaderMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="code" jdbcType="VARCHAR" property="code" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> + <result column="problemType" jdbcType="VARCHAR" property="problemType" /> + <result column="cycleCountCode" jdbcType="VARCHAR" property="cycleCountCode" /> + <result column="checkCode" jdbcType="VARCHAR" property="checkCode" /> + <result column="referCode" jdbcType="VARCHAR" property="referCode" /> + <result column="referReason" jdbcType="VARCHAR" property="referReason" /> + <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> + <result column="created" jdbcType="TIMESTAMP" property="created" /> + <result column="version" jdbcType="INTEGER" property="version" /> + <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> + <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> + <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> + <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, code, warehouseCode, companyCode, problemType, cycleCountCode, checkCode, + referCode, referReason, createdBy, created, version, userDef1, userDef2, userDef3, processStamp + </sql> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/inventory/CycleCountDetailMapper.xml b/src/main/resources/mybatis/inventory/CycleCountDetailMapper.xml index 98db6ea..03621cd 100644 --- a/src/main/resources/mybatis/inventory/CycleCountDetailMapper.xml +++ b/src/main/resources/mybatis/inventory/CycleCountDetailMapper.xml @@ -20,7 +20,7 @@ <result column="inventorySts" jdbcType="VARCHAR" property="inventorySts" /> <result column="systemQty" jdbcType="DECIMAL" property="systemQty" /> <result column="countedQty" jdbcType="DECIMAL" property="countedQty" /> - <result column="adjustQty" jdbcType="DECIMAL" property="adjustQty" /> + <result column="gapQty" jdbcType="DECIMAL" property="gapQty" /> <result column="rejectionNote" jdbcType="VARCHAR" property="rejectionNote" /> <result column="countedBy" jdbcType="VARCHAR" property="countedBy" /> <result column="countedAt" jdbcType="TIMESTAMP" property="countedAt" /> @@ -46,7 +46,7 @@ <!--@mbg.generated--> id, countId, round, taskHeaderId, taskDetailId, warehouseCode, inventoryDetailId, locationCode, containerCode, materialCode, materialName, materialSpec, materialUnit, - companyCode, inventorySts, systemQty, countedQty, adjustQty, rejectionNote, countedBy, + companyCode, inventorySts, systemQty, countedQty, gapQty, rejectionNote, countedBy, countedAt, assignedTo, assignedAt, completedBy, completedAt, enableStatus, created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3, processStamp, batch, lot, projectNo diff --git a/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml b/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml index fc76b82..fa36cde 100644 --- a/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml +++ b/src/main/resources/mybatis/inventory/InventoryTransactionMapper.xml @@ -13,10 +13,10 @@ <result column="materialName" jdbcType="VARCHAR" property="materialName" /> <result column="materialSpec" jdbcType="VARCHAR" property="materialSpec" /> <result column="materialUnit" jdbcType="VARCHAR" property="materialUnit" /> - <result column="qty" jdbcType="INTEGER" property="qty" /> + <result column="taskQty" jdbcType="INTEGER" property="taskQty" /> <result column="inventorySts" jdbcType="VARCHAR" property="inventorySts" /> <result column="referCode" jdbcType="VARCHAR" property="referCode" /> - <result column="referId" jdbcType="VARCHAR" property="referId" /> + <result column="referDetailId" jdbcType="VARCHAR" property="referDetailId" /> <result column="referDetailId" jdbcType="VARCHAR" property="referDetailId" /> <result column="batch" jdbcType="VARCHAR" property="batch" /> <result column="lot" jdbcType="VARCHAR" property="lot" /> @@ -30,31 +30,22 @@ <result column="attribute1" jdbcType="VARCHAR" property="attribute1" /> <result column="attribute2" jdbcType="VARCHAR" property="attribute2" /> <result column="attribute3" jdbcType="VARCHAR" property="attribute3" /> - <result column="attribute4" jdbcType="VARCHAR" property="attribute4" /> <result column="lockCode" jdbcType="VARCHAR" property="lockCode" /> - <result column="lastCycleCountDate" jdbcType="TIMESTAMP" property="lastCycleCountDate" /> <result column="created" jdbcType="TIMESTAMP" property="created" /> <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> - <result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated" /> - <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" /> <result column="version" jdbcType="INTEGER" property="version" /> <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> - <result column="userDef4" jdbcType="VARCHAR" property="userDef4" /> - <result column="userDef5" jdbcType="VARCHAR" property="userDef5" /> - <result column="userDef6" jdbcType="VARCHAR" property="userDef6" /> - <result column="userDef7" jdbcType="VARCHAR" property="userDef7" /> - <result column="userDef8" jdbcType="VARCHAR" property="userDef8" /> <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> id, warehouseCode, companyCode, locationCode, containerCode, transactionType, materialCode, - materialName, materialSpec, materialUnit, qty, inventorySts, referCode, referId, + materialName, materialSpec, materialUnit, taskQty, inventorySts, referCode, referDetailId, referDetailId, batch, lot, projectNo, qcCheck, weight, manufactureDate, expirationDate, - agingDate, attributeId, attribute1, attribute2, attribute3, attribute4, lockCode, - lastCycleCountDate, created, createdBy, lastUpdated, lastUpdatedBy, version, userDef1, - userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, processStamp + agingDate, attributeId, attribute1, attribute2, attribute3, lockCode, + created, createdBy, version, userDef1, + userDef2, userDef3, processStamp </sql> </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/receipt/ReceiptDetailHistoryMapper.xml b/src/main/resources/mybatis/receipt/ReceiptDetailHistoryMapper.xml new file mode 100644 index 0000000..2017dce --- /dev/null +++ b/src/main/resources/mybatis/receipt/ReceiptDetailHistoryMapper.xml @@ -0,0 +1,64 @@ +<?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.huaheng.pc.receipt.receiptDetailHistory.mapper.ReceiptDetailHistoryMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.receipt.receiptDetailHistory.domain.ReceiptDetailHistory"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="receiptId" jdbcType="INTEGER" property="receiptId" /> + <result column="receiptCode" jdbcType="VARCHAR" property="receiptCode" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> + <result column="materialCode" jdbcType="VARCHAR" property="materialCode" /> + <result column="materialName" jdbcType="VARCHAR" property="materialName" /> + <result column="materialSpec" jdbcType="VARCHAR" property="materialSpec" /> + <result column="materialUnit" jdbcType="VARCHAR" property="materialUnit" /> + <result column="supplierCode" jdbcType="VARCHAR" property="supplierCode" /> + <result column="batch" jdbcType="VARCHAR" property="batch" /> + <result column="lot" jdbcType="VARCHAR" property="lot" /> + <result column="qcCheck" jdbcType="VARCHAR" property="qcCheck" /> + <result column="projectNo" jdbcType="VARCHAR" property="projectNo" /> + <result column="manufactureDate" jdbcType="DATE" property="manufactureDate" /> + <result column="expirationDate" jdbcType="DATE" property="expirationDate" /> + <result column="agingDate" jdbcType="DATE" property="agingDate" /> + <result column="attributeTemplateCode" jdbcType="VARCHAR" property="attributeTemplateCode" /> + <result column="attribute1" jdbcType="VARCHAR" property="attribute1" /> + <result column="attribute2" jdbcType="VARCHAR" property="attribute2" /> + <result column="attribute3" jdbcType="VARCHAR" property="attribute3" /> + <result column="attribute4" jdbcType="VARCHAR" property="attribute4" /> + <result column="totalQty" jdbcType="INTEGER" property="totalQty" /> + <result column="openQty" jdbcType="INTEGER" property="openQty" /> + <result column="referCode" jdbcType="VARCHAR" property="referCode" /> + <result column="referId" jdbcType="INTEGER" property="referId" /> + <result column="referLineNum" jdbcType="VARCHAR" property="referLineNum" /> + <result column="locatingRule" jdbcType="VARCHAR" property="locatingRule" /> + <result column="inventorySts" jdbcType="VARCHAR" property="inventorySts" /> + <result column="itemListPrice" jdbcType="DECIMAL" property="itemListPrice" /> + <result column="itemNetPrice" jdbcType="DECIMAL" property="itemNetPrice" /> + <result column="isVirtualBom" jdbcType="INTEGER" property="isVirtualBom" /> + <result column="created" jdbcType="TIMESTAMP" property="created" /> + <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> + <result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated" /> + <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" /> + <result column="version" jdbcType="INTEGER" property="version" /> + <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> + <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> + <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> + <result column="userDef4" jdbcType="VARCHAR" property="userDef4" /> + <result column="userDef5" jdbcType="VARCHAR" property="userDef5" /> + <result column="userDef6" jdbcType="VARCHAR" property="userDef6" /> + <result column="userDef7" jdbcType="VARCHAR" property="userDef7" /> + <result column="userDef8" jdbcType="VARCHAR" property="userDef8" /> + <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> + <result column="deleted" jdbcType="BIT" property="deleted" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, receiptId, receiptCode, warehouseCode, companyCode, materialCode, materialName, + materialSpec, materialUnit, supplierCode, batch, lot, qcCheck, projectNo, manufactureDate, + expirationDate, agingDate, attributeTemplateCode, attribute1, attribute2, attribute3, + attribute4, totalQty, openQty, referCode, referId, referLineNum, locatingRule, inventorySts, + itemListPrice, itemNetPrice, isVirtualBom, created, createdBy, lastUpdated, lastUpdatedBy, + version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, + processStamp, deleted + </sql> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/receipt/ReceiptHeaderHistoryMapper.xml b/src/main/resources/mybatis/receipt/ReceiptHeaderHistoryMapper.xml new file mode 100644 index 0000000..4addfbe --- /dev/null +++ b/src/main/resources/mybatis/receipt/ReceiptHeaderHistoryMapper.xml @@ -0,0 +1,56 @@ +<?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.huaheng.pc.receipt.receiptHeaderHistory.mapper.ReceiptHeaderHistoryMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.receipt.receiptHeaderHistory.domain.ReceiptHeaderHistory"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> + <result column="code" jdbcType="VARCHAR" property="code" /> + <result column="receiptType" jdbcType="VARCHAR" property="receiptType" /> + <result column="firstStatus" jdbcType="INTEGER" property="firstStatus" /> + <result column="lastStatus" jdbcType="INTEGER" property="lastStatus" /> + <result column="referCode" jdbcType="VARCHAR" property="referCode" /> + <result column="referId" jdbcType="INTEGER" property="referId" /> + <result column="referType" jdbcType="VARCHAR" property="referType" /> + <result column="scheduledArriveDate" jdbcType="DATE" property="scheduledArriveDate" /> + <result column="actualArriveDate" jdbcType="DATE" property="actualArriveDate" /> + <result column="recvDock" jdbcType="VARCHAR" property="recvDock" /> + <result column="closedAt" jdbcType="DATE" property="closedAt" /> + <result column="closedBy" jdbcType="VARCHAR" property="closedBy" /> + <result column="startCheckinDatetime" jdbcType="TIMESTAMP" property="startCheckinDatetime" /> + <result column="endCheckinDatetime" jdbcType="TIMESTAMP" property="endCheckinDatetime" /> + <result column="totalQty" jdbcType="INTEGER" property="totalQty" /> + <result column="totalLines" jdbcType="INTEGER" property="totalLines" /> + <result column="toalCases" jdbcType="INTEGER" property="toalCases" /> + <result column="totalWeight" jdbcType="DECIMAL" property="totalWeight" /> + <result column="totalVolume" jdbcType="DECIMAL" property="totalVolume" /> + <result column="receiptNote" jdbcType="VARCHAR" property="receiptNote" /> + <result column="locked" jdbcType="INTEGER" property="locked" /> + <result column="lockedBy" jdbcType="VARCHAR" property="lockedBy" /> + <result column="created" jdbcType="TIMESTAMP" property="created" /> + <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> + <result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated" /> + <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" /> + <result column="version" jdbcType="INTEGER" property="version" /> + <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> + <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> + <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> + <result column="userDef4" jdbcType="VARCHAR" property="userDef4" /> + <result column="userDef5" jdbcType="VARCHAR" property="userDef5" /> + <result column="userDef6" jdbcType="VARCHAR" property="userDef6" /> + <result column="userDef7" jdbcType="VARCHAR" property="userDef7" /> + <result column="userDef8" jdbcType="VARCHAR" property="userDef8" /> + <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> + <result column="deleted" jdbcType="BIT" property="deleted" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, warehouseCode, companyCode, code, receiptType, firstStatus, lastStatus, referCode, + referId, referType, scheduledArriveDate, actualArriveDate, recvDock, closedAt, closedBy, + startCheckinDatetime, endCheckinDatetime, totalQty, totalLines, toalCases, totalWeight, + totalVolume, receiptNote, locked, lockedBy, created, createdBy, lastUpdated, lastUpdatedBy, + version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, + processStamp, deleted + </sql> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/shipment/ShipmentDetailHistoryMapper.xml b/src/main/resources/mybatis/shipment/ShipmentDetailHistoryMapper.xml new file mode 100644 index 0000000..cd482f0 --- /dev/null +++ b/src/main/resources/mybatis/shipment/ShipmentDetailHistoryMapper.xml @@ -0,0 +1,78 @@ +<?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.huaheng.pc.shipment.shipmentDetailHistory.mapper.ShipmentDetailHistoryMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.shipment.shipmentDetailHistory.domain.ShipmentDetailHistory"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="shipmentId" jdbcType="INTEGER" property="shipmentId" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> + <result column="shipmentCode" jdbcType="VARCHAR" property="shipmentCode" /> + <result column="referCode" jdbcType="VARCHAR" property="referCode" /> + <result column="referId" jdbcType="INTEGER" property="referId" /> + <result column="referLineNum" jdbcType="VARCHAR" property="referLineNum" /> + <result column="materialCode" jdbcType="VARCHAR" property="materialCode" /> + <result column="materialName" jdbcType="VARCHAR" property="materialName" /> + <result column="materialSpec" jdbcType="VARCHAR" property="materialSpec" /> + <result column="materialUnit" jdbcType="VARCHAR" property="materialUnit" /> + <result column="shipQty" jdbcType="INTEGER" property="shipQty" /> + <result column="requestQty" jdbcType="INTEGER" property="requestQty" /> + <result column="allocationRule" jdbcType="VARCHAR" property="allocationRule" /> + <result column="replenishmentRule" jdbcType="VARCHAR" property="replenishmentRule" /> + <result column="pickLocs" jdbcType="VARCHAR" property="pickLocs" /> + <result column="attribute1" jdbcType="VARCHAR" property="attribute1" /> + <result column="attribute2" jdbcType="VARCHAR" property="attribute2" /> + <result column="attribute3" jdbcType="VARCHAR" property="attribute3" /> + <result column="attribute4" jdbcType="VARCHAR" property="attribute4" /> + <result column="batch" jdbcType="VARCHAR" property="batch" /> + <result column="lot" jdbcType="VARCHAR" property="lot" /> + <result column="projectNo" jdbcType="VARCHAR" property="projectNo" /> + <result column="manufactureDate" jdbcType="DATE" property="manufactureDate" /> + <result column="expirationDate" jdbcType="DATE" property="expirationDate" /> + <result column="agingDate" jdbcType="DATE" property="agingDate" /> + <result column="inventorySts" jdbcType="VARCHAR" property="inventorySts" /> + <result column="dockLoc" jdbcType="VARCHAR" property="dockLoc" /> + <result column="packingClass" jdbcType="VARCHAR" property="packingClass" /> + <result column="status" jdbcType="INTEGER" property="status" /> + <result column="waveId" jdbcType="INTEGER" property="waveId" /> + <result column="created" jdbcType="TIMESTAMP" property="created" /> + <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> + <result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated" /> + <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" /> + <result column="version" jdbcType="INTEGER" property="version" /> + <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> + <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> + <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> + <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, shipmentId, warehouseCode, companyCode, shipmentCode, referCode, referId, referLineNum, + materialCode, materialName, materialSpec, materialUnit, shipQty, requestQty, allocationRule, + replenishmentRule, pickLocs, attribute1, attribute2, attribute3, attribute4, batch, + lot, projectNo, manufactureDate, expirationDate, agingDate, inventorySts, dockLoc, + packingClass, `enable`, waveId, created, createdBy, lastUpdated, lastUpdatedBy, version, + userDef1, userDef2, userDef3,processStamp + </sql> + + <select id="SelectFirstStatus" resultType="java.util.Map"> + SELECT h.id, h.firstStatus + FROM shipment_header_history h + INNER JOIN shipment_detail_history d ON h.id = d.shipmentId AND d.id IN (#{ids}) + GROUP BY h.id,firstStatus + </select> + + <delete id="batchDelete"> + DELETE FROM shipment_detail_history WHERE id IN + <foreach item="idItem" collection="array" open="(" separator="," close=")"> + #{idItem} + </foreach> + </delete> + + <select id="StatisticalByReceiptId" resultType="java.util.Map"> + SELECT count(*) as 'totalLines',sum(shipQty) as 'totalQty' + FROM shipment_detail_history + WHERE shipmentId=#{headerId} + </select> + +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml b/src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml index 24fda54..539503a 100644 --- a/src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml +++ b/src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml @@ -43,11 +43,6 @@ <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> - <result column="userDef4" jdbcType="VARCHAR" property="userDef4" /> - <result column="userDef5" jdbcType="VARCHAR" property="userDef5" /> - <result column="userDef6" jdbcType="VARCHAR" property="userDef6" /> - <result column="userDef7" jdbcType="VARCHAR" property="userDef7" /> - <result column="userDef8" jdbcType="VARCHAR" property="userDef8" /> <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> </resultMap> <sql id="Base_Column_List"> @@ -57,7 +52,7 @@ replenishmentRule, pickLocs, attribute1, attribute2, attribute3, attribute4, batch, lot, projectNo, manufactureDate, expirationDate, agingDate, inventorySts, dockLoc, packingClass, `enable`, waveId, created, createdBy, lastUpdated, lastUpdatedBy, version, - userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, userDef7, userDef8, processStamp + userDef1, userDef2, userDef3,processStamp </sql> diff --git a/src/main/resources/mybatis/shipment/ShipmentHeaderHistoryMapper.xml b/src/main/resources/mybatis/shipment/ShipmentHeaderHistoryMapper.xml new file mode 100644 index 0000000..2f6327c --- /dev/null +++ b/src/main/resources/mybatis/shipment/ShipmentHeaderHistoryMapper.xml @@ -0,0 +1,70 @@ +<?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.huaheng.pc.shipment.shipmentHeaderHistory.mapper.ShipmentHeaderHistoryMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.shipment.shipmentHeaderHistory.domain.ShipmentHeaderHistory"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> + <result column="code" jdbcType="VARCHAR" property="code" /> + <result column="referCode" jdbcType="VARCHAR" property="referCode" /> + <result column="referCodeType" jdbcType="VARCHAR" property="referCodeType" /> + <result column="referId" jdbcType="INTEGER" property="referId" /> + <result column="referPlatform" jdbcType="INTEGER" property="referPlatform" /> + <result column="firstStatus" jdbcType="INTEGER" property="firstStatus" /> + <result column="lastStatus" jdbcType="INTEGER" property="lastStatus" /> + <result column="shipmentType" jdbcType="VARCHAR" property="shipmentType" /> + <result column="route" jdbcType="VARCHAR" property="route" /> + <result column="customerCode" jdbcType="VARCHAR" property="customerCode" /> + <result column="customerName" jdbcType="VARCHAR" property="customerName" /> + <result column="priority" jdbcType="INTEGER" property="priority" /> + <result column="requestedDeliveryDate" jdbcType="DATE" property="requestedDeliveryDate" /> + <result column="scheduledShipDate" jdbcType="DATE" property="scheduledShipDate" /> + <result column="actualShipDateTime" jdbcType="TIMESTAMP" property="actualShipDateTime" /> + <result column="actualDeliveryDate" jdbcType="DATE" property="actualDeliveryDate" /> + <result column="deliveryNote" jdbcType="VARCHAR" property="deliveryNote" /> + <result column="rejectionNote" jdbcType="VARCHAR" property="rejectionNote" /> + <result column="waveId" jdbcType="INTEGER" property="waveId" /> + <result column="shipDock" jdbcType="VARCHAR" property="shipDock" /> + <result column="allocateComplete" jdbcType="INTEGER" property="allocateComplete" /> + <result column="totalWeight" jdbcType="DECIMAL" property="totalWeight" /> + <result column="totalQty" jdbcType="INTEGER" property="totalQty" /> + <result column="totalVolume" jdbcType="DECIMAL" property="totalVolume" /> + <result column="totalLines" jdbcType="INTEGER" property="totalLines" /> + <result column="processType" jdbcType="VARCHAR" property="processType" /> + <result column="lastWaveId" jdbcType="INTEGER" property="lastWaveId" /> + <result column="signValue" jdbcType="VARCHAR" property="signValue" /> + <result column="carrierCode" jdbcType="VARCHAR" property="carrierCode" /> + <result column="carrierService" jdbcType="VARCHAR" property="carrierService" /> + <result column="shipmentNote" jdbcType="VARCHAR" property="shipmentNote" /> + <result column="carrierServer" jdbcType="VARCHAR" property="carrierServer" /> + <result column="carrierServerName" jdbcType="VARCHAR" property="carrierServerName" /> + <result column="plateNumber" jdbcType="VARCHAR" property="plateNumber" /> + <result column="carModel" jdbcType="VARCHAR" property="carModel" /> + <result column="driverName" jdbcType="VARCHAR" property="driverName" /> + <result column="driverTel" jdbcType="VARCHAR" property="driverTel" /> + <result column="created" jdbcType="TIMESTAMP" property="created" /> + <result column="createdBy" jdbcType="VARCHAR" property="createdBy" /> + <result column="lastUpdated" jdbcType="TIMESTAMP" property="lastUpdated" /> + <result column="lastUpdatedBy" jdbcType="VARCHAR" property="lastUpdatedBy" /> + <result column="version" jdbcType="INTEGER" property="version" /> + <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> + <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> + <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> + <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> + <result column="deleted" jdbcType="BIT" property="deleted" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + id, warehouseCode, companyCode, code, referCode, referCodeType, referId, + referPlatform, firstStatus, lastStatus, shipmentType, route, customerCode, customerName, + priority, requestedDeliveryDate, scheduledShipDate, actualShipDateTime, + actualDeliveryDate, deliveryNote, rejectionNote, waveId, shipDock, allocateComplete, + totalWeight, totalQty, totalVolume, totalLines, + processType, lastWaveId, signValue, carrierCode, carrierService, shipmentNote, carrierServer, + carrierServerName, plateNumber, carModel, driverName, driverTel, created, createdBy, + lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3,processStamp, deleted + </sql> + + +</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/shipment/ShipmentHeaderMapper.xml b/src/main/resources/mybatis/shipment/ShipmentHeaderMapper.xml index 1e8433c..51a802d 100644 --- a/src/main/resources/mybatis/shipment/ShipmentHeaderMapper.xml +++ b/src/main/resources/mybatis/shipment/ShipmentHeaderMapper.xml @@ -51,11 +51,6 @@ <result column="userDef1" jdbcType="VARCHAR" property="userDef1" /> <result column="userDef2" jdbcType="VARCHAR" property="userDef2" /> <result column="userDef3" jdbcType="VARCHAR" property="userDef3" /> - <result column="userDef4" jdbcType="VARCHAR" property="userDef4" /> - <result column="userDef5" jdbcType="VARCHAR" property="userDef5" /> - <result column="userDef6" jdbcType="VARCHAR" property="userDef6" /> - <result column="userDef7" jdbcType="VARCHAR" property="userDef7" /> - <result column="userDef8" jdbcType="VARCHAR" property="userDef8" /> <result column="processStamp" jdbcType="VARCHAR" property="processStamp" /> <result column="deleted" jdbcType="BIT" property="deleted" /> </resultMap> @@ -68,8 +63,7 @@ totalWeight, totalQty, totalVolume, totalLines, processType, lastWaveId, signValue, carrierCode, carrierService, shipmentNote, carrierServer, carrierServerName, plateNumber, carModel, driverName, driverTel, created, createdBy, - lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, userDef5, - userDef6, userDef7, userDef8, processStamp, deleted + lastUpdated, lastUpdatedBy, version, userDef1, userDef2, userDef3,processStamp, deleted </sql> <select id="createCode" resultType="java.lang.String"> diff --git a/src/main/resources/templates/config/receiptType/add.html b/src/main/resources/templates/config/receiptType/add.html index 73e8eed..4ad8338 100644 --- a/src/main/resources/templates/config/receiptType/add.html +++ b/src/main/resources/templates/config/receiptType/add.html @@ -46,7 +46,9 @@ <div class="form-group"> <label class="col-sm-3 control-label">入库流程:</label> <div class="col-sm-8"> - <input id="receiptFlow" name="receiptFlow" class="form-control" type="text"> + <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList()}"> + <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> + </select> </div> </div> <!--<div class="form-group"> @@ -167,6 +169,7 @@ // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize()); var tableValue = $.common.getTableValue("#form-receiptType-add"); tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val()); + tableValue = formValueReplace(tableValue, "receiptFlow", $("#receiptFlow option:selected").val()); tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked')); $.operate.save(prefix + "/add", tableValue); } diff --git a/src/main/resources/templates/config/receiptType/edit.html b/src/main/resources/templates/config/receiptType/edit.html index 545109f..5aeca3a 100644 --- a/src/main/resources/templates/config/receiptType/edit.html +++ b/src/main/resources/templates/config/receiptType/edit.html @@ -48,7 +48,9 @@ <div class="form-group"> <label class="col-sm-3 control-label">入库流程:</label> <div class="col-sm-8"> - <input id="receiptFlow" name="receiptFlow" class="form-control" type="text" th:field="*{receiptFlow}"> + <select id="receiptFlow" name="receiptFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList()}" th:field="*{receiptFlow}"> + <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option> + </select> </div> </div> <!--<div class="form-group"> @@ -169,6 +171,8 @@ // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize()); var tableValue = $.common.getTableValue("#form-receiptType-edit"); tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val()); + tableValue = formValueReplace(tableValue, "receiptFlow", $("#receiptFlow option:selected").val()); + tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked')); $.operate.save(prefix + "/edit", tableValue); } }); diff --git a/src/main/resources/templates/config/statusFlowDetail/add.html b/src/main/resources/templates/config/statusFlowDetail/add.html index bbd23b6..3c5d9c3 100644 --- a/src/main/resources/templates/config/statusFlowDetail/add.html +++ b/src/main/resources/templates/config/statusFlowDetail/add.html @@ -6,6 +6,7 @@ <div class="wrapper wrapper-content animated fadeInRight ibox-content"> <form class="form-horizontal m" id="form-statusFlowDetails-add"> <input name="headerId" type="hidden" th:value="${headerId}"> + <input name="headerCode" type="hidden" th:value="${headerCode}"> <div class="form-group"> <label class="col-sm-3 control-label">状态流:</label> <div class="col-sm-8"> diff --git a/src/main/resources/templates/config/statusFlowDetail/edit.html b/src/main/resources/templates/config/statusFlowDetail/edit.html index 682bbd4..a6076ee 100644 --- a/src/main/resources/templates/config/statusFlowDetail/edit.html +++ b/src/main/resources/templates/config/statusFlowDetail/edit.html @@ -16,7 +16,7 @@ <div class="form-group"> <label class="col-sm-3 control-label">模块:</label> <div class="col-sm-8"> - <input id="moduleType" name="moduleType" class="form-control" type="text" th:field="*{modlueType}"> + <input id="moduleType" name="moduleType" class="form-control" type="text" th:field="*{moduleType}"> </div> </div> <div class="form-group"> @@ -26,7 +26,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">类型:</label> + <label class="col-sm-3 control-label">序号:</label> <div class="col-sm-8"> <input id="sequence" name="sequence" class="form-control" type="text" th:field="*{sequence}"> </div> @@ -53,11 +53,11 @@ <!-- </div>--> <!--</div>--> <div class="form-group"> - <label class="col-sm-3 control-label">是否启用:</label> + <label class="col-sm-3 control-label">是否有效:</label> <div class="col-sm-8"> + <!--<input id="enable" name="enable" th:field="*{enable}" class="form-control" type="text">--> <div class="onoffswitch"> - <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" - id="enable" name="enable" th:field="*{enable}"> + <input type="checkbox" th:checked="*{enable}" class="onoffswitch-checkbox" id="enable" name="enable"> <label class="onoffswitch-label" for="enable"> <span class="onoffswitch-inner"></span> <span class="onoffswitch-switch"></span> @@ -75,7 +75,7 @@ </div> <div th:include="include::footer"></div> <script type="text/javascript"> - var prefix = ctx + "config/statusFlowDetails"; + var prefix = ctx + "config/statusFlowDetail"; $("#form-statusFlowDetails-edit").validate({ rules:{ flowCode:{ @@ -96,7 +96,7 @@ var tableValue = $.common.getTableValue("#form-statusFlowDetails-edit"); tableValue = formValueReplace(tableValue, "nessary", $("#nessary option:selected").val()); tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked')); - $.operate.save(prefix + "/add", tableValue); + $.operate.save(prefix + "/edit", tableValue); } }); </script> diff --git a/src/main/resources/templates/config/statusFlowDetail/statusFlowDetail.html b/src/main/resources/templates/config/statusFlowDetail/statusFlowDetail.html index 07e0966..9ff33cf 100644 --- a/src/main/resources/templates/config/statusFlowDetail/statusFlowDetail.html +++ b/src/main/resources/templates/config/statusFlowDetail/statusFlowDetail.html @@ -23,6 +23,7 @@ var editFlag = [[${@permission.hasPermi('config:statusFlowDetails:edit')}]]; var removeFlag = [[${@permission.hasPermi('config:statusFlowDetails:remove')}]]; var datas = [[${@dict.getType('sys_normal_disable')}]]; + var nessaryDatas = [[${@dict.getType('nessary')}]]; $(function() { var options = { url: prefix + "/list", @@ -81,7 +82,7 @@ title : '是否是必须流程', align: 'center', formatter: function(value, row, index) { - return $.table.selectDictLabel(datas, value); + return $.table.selectDictLabel(nessaryDatas, value); } }, { diff --git a/src/main/resources/templates/config/statusFlowHeader/add.html b/src/main/resources/templates/config/statusFlowHeader/add.html index b3ffed5..c6ad1b4 100644 --- a/src/main/resources/templates/config/statusFlowHeader/add.html +++ b/src/main/resources/templates/config/statusFlowHeader/add.html @@ -6,13 +6,13 @@ <div class="wrapper wrapper-content animated fadeInRight ibox-content"> <form class="form-horizontal m" id="form-statusFlowHeader-add"> <div class="form-group"> - <label class="col-sm-3 control-label">状态流:</label> + <label class="col-sm-3 control-label">编码:</label> <div class="col-sm-8"> <input id="code" name="code" class="form-control" type="text"> </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">状态流名称:</label> + <label class="col-sm-3 control-label">名称:</label> <div class="col-sm-8"> <input id="name" name="name" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/config/statusFlowHeader/edit.html b/src/main/resources/templates/config/statusFlowHeader/edit.html index 3514e0b..61ebc57 100644 --- a/src/main/resources/templates/config/statusFlowHeader/edit.html +++ b/src/main/resources/templates/config/statusFlowHeader/edit.html @@ -7,13 +7,13 @@ <form class="form-horizontal m" id="form-statusFlowHeader-edit" th:object="${statusFlowHeader}"> <input name="id" th:field="*{id}" type="hidden"> <div class="form-group"> - <label class="col-sm-3 control-label">状态流:</label> + <label class="col-sm-3 control-label">编码:</label> <div class="col-sm-8"> <input id="code" name="code" class="form-control" type="text" th:field="*{code}"> </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">状态流名称:</label> + <label class="col-sm-3 control-label">名称:</label> <div class="col-sm-8"> <input id="name" name="name" class="form-control" type="text" th:field="*{name}"> </div> @@ -43,11 +43,11 @@ <!-- </div>--> <!--</div>--> <div class="form-group"> - <label class="col-sm-3 control-label">是否启用:</label> + <label class="col-sm-3 control-label">是否有效:</label> <div class="col-sm-8"> + <!--<input id="enable" name="enable" th:field="*{enable}" class="form-control" type="text">--> <div class="onoffswitch"> - <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="enable" name="enable" - th:field="*{enable}"> + <input type="checkbox" th:checked="*{enable}" class="onoffswitch-checkbox" id="enable" name="enable"> <label class="onoffswitch-label" for="enable"> <span class="onoffswitch-inner"></span> <span class="onoffswitch-switch"></span> @@ -65,7 +65,7 @@ </div> <div th:include="include::footer"></div> <script type="text/javascript"> - var prefix = ctx + "config/receiptType"; + var prefix = ctx + "config/statusFlowHeader"; $("#form-statusFlowHeader-edit").validate({ rules:{ code:{ diff --git a/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html b/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html index 75ddd32..da7a123 100644 --- a/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html +++ b/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html @@ -75,6 +75,8 @@ var prefix1 = ctx + "config/statusFlowDetail"; var editFlag = [[${@permission.hasPermi('config:statusFlowHeader:edit')}]]; var removeFlag = [[${@permission.hasPermi('config:statusFlowHeader:remove')}]]; + var datas = [[${@dict.getType('sys_normal_disable')}]]; + $(function() { var options = { url: prefix + "/list", @@ -94,11 +96,11 @@ }, { field : 'code', - title : '状态流' + title : '编码' }, { field : 'name', - title : '状态流名称' + title : '名称' }, { field : 'warehouseCode', @@ -113,6 +115,14 @@ title : '类型' }, { + field : 'enable', + title : '是否有效' , + align: 'center', + formatter: function(value, row, index) { + return $.table.selectDictLabel(datas, value); + } + }, + { field : 'version', title : '数据版本', visible : false diff --git a/src/main/resources/templates/inventory/cyclecountAdjustDetail/addAdjust.html b/src/main/resources/templates/inventory/adjustDetail/addAdjust.html index fb5e0e8..fb5e0e8 100644 --- a/src/main/resources/templates/inventory/cyclecountAdjustDetail/addAdjust.html +++ b/src/main/resources/templates/inventory/adjustDetail/addAdjust.html diff --git a/src/main/resources/templates/inventory/cyclecountAdjustDetail/cyclecountAdjustDetail.html b/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html index 59f00a4..3b32bda 100644 --- a/src/main/resources/templates/inventory/cyclecountAdjustDetail/cyclecountAdjustDetail.html +++ b/src/main/resources/templates/inventory/adjustDetail/adjustDetail.html @@ -6,54 +6,43 @@ <div class="row"> <div class="col-sm-12"> <div class="col-sm-12 select-info"> - <div class="select-list" th:object="${header}"> + <div class="select-list" > <ul> <li> <form id="cycleHeader-form"> - 差异单ID:<input type="text" id="cyclecountAdjustId" name="cyclecountAdjustId" th:value="*{id}" readonly="readonly"> + 调整单编码:<input type="text" id="cyclecountAdjustId" name="cyclecountAdjustId" /> </form> </li> <li> - 货主编码:<input id="companyCode" type="text" name="companyCode" th:value="*{companyCode}" readonly="readonly"/> + 货主编码:<input id="companyCode" type="text" name="companyCode" /> </li> <li> - 调整单编码:<input id="code" type="text" name="code" th:value="*{code}" readonly="readonly"/> + 调整单编码:<input id="code" type="text" name="code" /> </li> <li> - 源盘点单号:<input id="sourceCode" type="text" name="sourceCode" th:value="*{sourceCode}" readonly="readonly"> + 盘点单号:<input id="sourceCode" type="text" name="sourceCode" /> </li> - <!-- <li> - <!–头 状 态:<input type="text" name="firstStatus"/>–> - 状态:<input id = "status" type="text" name="status" th:value="*{statusLabel}" readonly="readonly"> - </li>--> <li> - 调整单状态:<input id = "status" type="text" name="status" th:value="*{statusLabel}" readonly="readonly"> + 调整单状态:<input id = "status" type="text" name="status" /> </li> <li> - 创建时间:<input id="created" type="text" name="created" th:value="*{created}" readonly="readonly"> + 创建时间:<input id="created" type="text" name="created" /> </li> <li> - 创建人:<input id="createdBy" type="text" name="createdBy" th:value="*{createdBy}" readonly="readonly"> + 创建人:<input id="createdBy" type="text" name="createdBy" /> </li> <li> - 最后更新时间:<input id="lastUpdated" type="text" name="lastUpdated" th:value="*{lastUpdated}" readonly="readonly"> - - </li> - <li> - 最后更新人:<input id="lastUpdatedBy" type="text" name="lastUpdatedBy" th:value="*{lastUpdatedBy}" readonly="readonly"> + <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i + class="fa fa-search"></i> 搜索</a> </li> - <!--<li>--> - <!--<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i--> - <!--class="fa fa-search"></i> 搜索</a>--> - <!--</li>--> </ul> </div> </div> <div class="btn-group hidden-xs" id="toolbar" role="group"> - <a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()" - shiro:hasPermission="inventory:cyclecountAdjustDetail:addAdjust"> + <a class="btn btn-outline btn-danger btn-rounded" onclick="addAdjust()" /> + <!--shiro:hasPermission="inventory:cyclecountAdjustDetail:addAdjust"--> <i class="fa fa-vcard"></i>差异调整 </a> <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()" @@ -73,21 +62,19 @@ </div> <div th:include="include :: footer"></div> <script th:inline="javascript"> - var prefix = ctx + "inventory/cyclecountAdjustDetail"; - var prefix_head = ctx + "inventory/cyclecountAdjust"; + var prefix = ctx + "inventory/adjustDetail"; + var prefix_head = ctx + "inventory/adjustHeader"; var datas = [[${@dict.getType('adjustType')}]]; var inventoryStatus=[[${@dict.getType('inventoryStatus')}]]; - var created ; - $(function () { var options = { // url: prefix + "/list", /* createUrl: prefix + "/add", updateUrl: prefix + "/edit/{id}", removeUrl: prefix + "/remove",*/ - modalName: "差异单明细", + modalName: "调整单明细", sortName: "id", sortOrder: "desc", showRefresh:false, diff --git a/src/main/resources/templates/inventory/cyclecountAdjustDetail/adjustEdit.html b/src/main/resources/templates/inventory/adjustDetail/adjustEdit.html index ecffbfd..ecffbfd 100644 --- a/src/main/resources/templates/inventory/cyclecountAdjustDetail/adjustEdit.html +++ b/src/main/resources/templates/inventory/adjustDetail/adjustEdit.html diff --git a/src/main/resources/templates/inventory/cyclecountAdjust/cyclecountAdjust.html b/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html index 8bd5401..8edd4a8 100644 --- a/src/main/resources/templates/inventory/cyclecountAdjust/cyclecountAdjust.html +++ b/src/main/resources/templates/inventory/adjustHeader/adjustHeader.html @@ -1,9 +1,9 @@ <!DOCTYPE HTML> -<html lang="zh" xmlns:th="http://www.thymeleaf.org"> +<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> <meta charset="utf-8"> <head th:include="include :: header"></head> <style> - #toolbar1{ + #toolbar1 { display: inline-block; /*position: absolute; margin: 10px auto;*/ @@ -11,235 +11,216 @@ } </style> <body class="gray-bg"> - <div class="container-div"> - <div class="row"> - <div class="col-sm-12 select-info"> - <ul id="myTab" class="nav nav-tabs"> - <li class="active"><a href="#tabHeader" data-toggle="tab">主表</a></li> - <li><a href="#tabDetail" data-toggle="tab">明细</a></li> - </ul> - <div id="myTabContent" class="tab-content"> - <div class="tab-pane fade in active" id="tabHeader"> - <div class="col-sm-12 select-info"> - <form id="cycleHeader-form"> - <div class="select-list"> - <ul> - <li> - 差异单编号:<input type="text" name="code"/> - </li> - <li> - 源盘点单号:<input type="text" name="sourceCode"/> - </li> - <li> - 差异单状态:<select name="status" - th:with="lastStatus=${@dict.getType('adjustType')}"> - <option value="">所有</option> - <option th:each="e : ${lastStatus}" th:text="${e['dictLabel']}" - th:value="${e['dictValue']}"></option> - </select> - </li> - <li class="time"> - <label>创建时间: </label> - <input type="text" class="time-input" id="startTime" placeholder="开始时间" - name="params[createdBegin]"/> - <span>-</span> - <input type="text" class="time-input" id="endTime" placeholder="结束时间" - name="params[createdEnd]"/> - </li> - <li> - 货主编码:<input type="text" name="companyCode"/> - </li> - <li> - 创建人:<input type="text" name="createdBy"/> - </li> - <li> - 更新人:<input type="text" name="lastUpdatedBy"/> - </li> - <li> - <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i - class="fa fa-search"></i> 搜索</a> - </li> - </ul> - </div> - </form> - </div> - <!--<div class="btn-group hidden-xs" id="toolbar" role="group"> - <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="inventoryHeader:cycleCount:insert"> - <i class="fa fa-plus"></i> 新增 - </a> - </div>--> - <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> - </div> - <div class="tab-pane fade" id="tabDetail"></div> - </div> - </div> +<div class="container-div"> + <div class="row"> + <div class="col-sm-12 select-info"> + <ul id="myTab" class="nav nav-tabs"> + <li class="active"><a href="#tabHeader" data-toggle="tab">主表</a></li> + <li><a href="#tabDetail" data-toggle="tab">明细</a></li> + </ul> + <div id="myTabContent" class="tab-content"> + <div class="tab-pane fade in active" id="tabHeader"> + <div class="col-sm-12 select-info"> + <form id="cycleHeader-form"> + <div class="select-list"> + <ul> + <li> + 调整单编号:<input type="text" name="code"/> + </li> + <li> + 盘点单号:<input type="text" name="sourceCode"/> + </li> + <li> + 盘点类型:<select name="problemType" + th:with="problemType=${@dict.getType('adjustType')}"> + <option value="">所有</option> + <option th:each="e : ${problemType}" th:text="${e['dictLabel']}" + th:value="${e['dictValue']}"></option> + </select> + </li> + <li> + 质检单号:<input type="text" name="checkCode"/> + </li> + <li> + 上游单编码:<input type="text" name="referCode"/> + </li> + <li> + 货主编码:<input type="text" name="companyCode"/> + </li> + <li> + 创建人:<input type="text" name="createdBy"/> + </li> - </div> - </div> - <div th:include="include :: footer"></div> - <script th:inline="javascript"> - var prefix = ctx + "inventory/cyclecountAdjust"; - var upload = [[${@permission.hasPermi('inventoryHeader:cyclecountAdjust:upload')}]]; - var report =[[${@permission.hasPermi('inventoryHeader:cyclecountAdjust:report')}]]; - var datas = [[${@dict.getType('sys_normal_disable')}]]; - var status2 = [[${@dict.getType('adjustType')}]]; + <li class="time"> + <label>创建时间: </label> + <input type="text" class="time-input" id="startTime" placeholder="开始时间" + name="createdBegin"/> + <span>-</span> + <input type="text" class="time-input" id="endTime" placeholder="结束时间" + name="createdEnd"/> + </li> + <li> + <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i + class="fa fa-search"></i> 搜索</a> + </li> + </ul> + </div> + </form> + </div> + <table id="bootstrap-table" data-mobile-responsive="true" + class="table table-bordered table-hover"></table> + </div> + <div class="tab-pane fade" id="tabDetail"></div> + </div> + </div> - $(function() { - var options = { - url: prefix + "/list", - createUrl: prefix + "/add", - updateUrl: prefix + "/edit/{id}", - removeUrl: prefix + "/remove", - modalName: "盘点差异调整单主", - sortName: "id", - sortOrder: "desc", - search: false, - // onDblClickRow: function (row) { - // showDetail(row.id,row.code); - // }, - columns: [{ - checkbox: true - }, - { - field : 'id', - title : '差异单id' - }, - { - field : 'code', - title : '差异单编码' - }, - { - field : 'cyclecountHeadId', - title : '源盘点单id', - visible: false + </div> +</div> +<div th:include="include :: footer"></div> +<script th:inline="javascript"> + var prefix = ctx + "inventory/adjustHeader"; + var upload = [[${@permission.hasPermi('inventoryHeader:adjustHeader:upload')}]]; + var report = [[${@permission.hasPermi('inventoryHeader:adjustHeader:report')}]]; + var datas = [[${@dict.getType('sys_normal_disable')}]]; + var status2 = [[${@dict.getType('adjustType')}]]; + $(function () { + var options = { + url: prefix + "/list", + createUrl: prefix + "/add", + updateUrl: prefix + "/edit/{id}", + removeUrl: prefix + "/remove", + modalName: "调整主单", + sortName: "id", + sortOrder: "desc", + search: false, + // onDblClickRow: function (row) { + // showDetail(row.id,row.code); + // }, + columns: [{ + checkbox: true + }, + { + field: 'id', + title: '主单ID' + }, + { + field: 'code', + title: '调整单编码' + }, + { + field: 'warehouseCode', + title: '仓库编码', + visible: true + }, + { + field: 'companyCode', + title: '货主编码' + }, + { + field: 'cycleCountCode', + title: '盘点单号' + }, + { + field: 'problemType', + title: '调整类型' + }, + { + field: 'referCode', + title: '关联上游单编码' + }, + { + field: 'referReason', + title: '关联上游说明' + }, + { + field: 'problemType', + title: '调整类型', + align: 'center', + formatter: function (value, row, index) { + return $.table.selectDictLabel(status2, value); }, - { - field : 'sourceCode', - title : '源盘点单号' - }, - { - field : 'warehouseCode', - title : '仓库编码' - }, - { - field : 'companyCode', - title : '货主编码' - }, - { - field: 'status', - title: '差异单状态', - align: 'center', - formatter: function(value, row, index) { - return $.table.selectDictLabel(status2, value); - }, - sortable:true - }, + sortable: true + }, - { - field : 'created', - title : '创建时间', - formatter : function(created, row, index) { //去除时间中间的T + { + field: 'created', + title: '创建时间', + formatter: function (created, row, index) { //去除时间中间的T return created.replace("T", " "); } - }, - { - field : 'createdBy', - title : '创建用户' - }, - { - field : 'lastUpdated', - title : '更新时间', - formatter : function(lastUpdated, row, index) { //去除时间中间的T - return lastUpdated.replace("T", " "); + }, + { + field: 'createdBy', + title: '创建用户' + }, + /*{ + field: 'enable', + title: '是否有效', + align: 'center', + formatter: function (value, row, index) { + return $.table.selectDictLabel(datas, value); } - }, - { - field : 'lastUpdatedBy', - title : '更新用户' - }, - { - field : 'uploadTime', - title : '上传时间' - }, - /*{ - field : 'enable', - title : '是否有效' , - align: 'center', - formatter: function(value, row, index) { - return $.table.selectDictLabel(datas, value); - } - },*/ - { - field : 'verifyBy', - title : '审核人' - }, - { - field: 'enable', - title: '是否有效', - align: 'center', - formatter: function (value, row, index) { - return $.table.selectDictLabel(datas, value); - } - }, + },*/ - { - title: '操作', - align: 'center', - formatter: function(value, row, index) { - var actions = []; + { + title: '操作', + align: 'center', + formatter: function (value, row, index) { + var actions = []; actions.push('<a class="btn btn-success btn-xs ' + report + '" href="#" onclick="cyclecountPrint(\'' + row.id + '\')"><i class="fa fa-print"></i>打印</a> '); - actions.push('<a class="btn btn-info btn-xs ' + upload + ' " href="#" onclick="upLoad(\'' + row.code + '\',\''+row.sourceCode+'\')"><i class="fa fa-edit"></i>上传</a> '); - /* actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> ');*/ + actions.push('<a class="btn btn-info btn-xs ' + upload + ' " href="#" onclick="upLoad(\'' + row.code + '\',\'' + row.sourceCode + '\')"><i class="fa fa-edit"></i>上传</a> '); + /* actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a> ');*/ actions.push('<a style="background: #b5bdc0" class="btn btn-default btn-xs " href="#" onclick="detail(\'' + row.id + '\',\'' + row.code + '\')"><i class="fa fa-list-ul"></i>明细</a>'); - return actions.join(''); - } - }] - }; - $.table.init(options); - $("#myTab li:eq(1)").one('click',(function () { - var cyc_id=$("#bootstrap-table tr:eq(1) td:eq(1)").text(); - var cyc_code=$("#bootstrap-table tr:eq(1) td:eq(2)").text(); - detail(cyc_id,cyc_code); - })); - }); + return actions.join(''); + } + }] + }; + $.table.init(options); + $("#myTab li:eq(1)").one('click', (function () { + var cyc_id = $("#bootstrap-table tr:eq(1) td:eq(1)").text(); + var cyc_code = $("#bootstrap-table tr:eq(1) td:eq(2)").text(); + detail(cyc_id, cyc_code); + })); + }); - function detail(id,code) { - var url = ctx +"inventory/cyclecountAdjustDetail?code="+code; - $("#tabDetail").children().remove(); - $("#myTab li").removeClass("active"); - var height = $(document).height()-100 + 'px'; - var str = '<iframe class="huaheng_iframe" name="iframe" width="100%" height="' + height + '" src="' + url + '" frameborder="0" data-id="' + url + '" seamless></iframe>'; - $("#tabDetail").empty(); - $("#tabDetail").append(str); - $(".tab-pane").removeClass("in active"); - $("#myTab li:eq(1)").addClass("active"); - $("#tabDetail").addClass("in active"); - } + function detail(id, code) { + var url = ctx + "inventory/adjustDetail?adjustCode=" + code; + $("#tabDetail").children().remove(); + $("#myTab li").removeClass("active"); + var height = $(document).height() - 100 + 'px'; + var str = '<iframe class="huaheng_iframe" name="iframe" width="100%" height="' + height + '" src="' + url + '" frameborder="0" data-id="' + url + '" seamless></iframe>'; + $("#tabDetail").empty(); + $("#tabDetail").append(str); + $(".tab-pane").removeClass("in active"); + $("#myTab li:eq(1)").addClass("active"); + $("#tabDetail").addClass("in active"); + } - function cyclecountPrint(id) { - var url = prefix + "/report/" + id; - $.modal.open("差异单打印" , url); - } + function cyclecountPrint(id) { + var url = prefix + "/report/" + id; + $.modal.open("差异单打印", url); + } - function upLoad(code,sourceCode) { - $.ajax({ - url:ctx+'/api/icsCyclecount/cycleCountDiff', - type:'post', - data:{ - code:code, - sourceCode:sourceCode - }, - success:function (res) { - if (res.code === 200) { - $.modal.msgSuccess(); - } - else { - $.modal.msgError(res.msg); - } + + //上传API接口 + function upLoad(code, sourceCode) { + $.ajax({ + url: ctx + '/api/icsCyclecount/cycleCountDiff', + type: 'post', + data: { + code: code, + sourceCode: sourceCode + }, + success: function (res) { + if (res.code === 200) { + $.modal.msgSuccess(); + } else { + $.modal.msgError(res.msg); } - }) - } - </script> + } + }) + } +</script> </body> </html> \ No newline at end of file diff --git a/src/main/resources/templates/inventory/cyclecountAdjust/report.html b/src/main/resources/templates/inventory/adjustHeader/report.html index 5d8dfef..f63ec60 100644 --- a/src/main/resources/templates/inventory/cyclecountAdjust/report.html +++ b/src/main/resources/templates/inventory/adjustHeader/report.html @@ -54,7 +54,7 @@ <script type="text/javascript" src="../../../js/barcode/JsBarcode.all.js"></script> <script th:inline="javascript"> - var res=[[${cyclecountAdjust.created}]]; + var res=[[${adjustHeader.created}]]; res=res.replace("T"," "); res=res.substr(0,19); $(".time_c").text(res); diff --git a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html index 28c3419..ebfbd71 100644 --- a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html +++ b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html @@ -6,48 +6,80 @@ <div class="row"> <div class="col-sm-12"> <div class="col-sm-12 select-info"> - <div class="select-list" th:object="${header}"> + <div class="select-list"> <ul> <li> <form id="cycleHeader-form"> - 盘点单id:<input type="text" id="headId" name="headId" th:value="*{id}" readonly="readonly"> + 盘点主ID:<input type="text" id="cycleCountHeadId" name="cycleCountHeadId" /> </form> </li> <li> - 货主编码:<input id="companyCode" type="text" name="companyCode" th:value="*{companyCode}" readonly="readonly"/> + 货主编码:<input id="companyCode" type="text" name="companyCode" /> </li> <li> - 盘点单编码:<input id="code" type="text" name="code" th:value="*{code}" readonly="readonly"/> + 库位:<input id="locationCode" type="text" name="locationCode" /> </li> <li> - 源盘点单号:<input id="sourceCode" type="text" name="type" th:value="*{sourceCode}" readonly="readonly"> + 容器:<input id="containerCode" type="text" name="containerCode" /> </li> <li> - <!--入库类型:<input type="text" name="sourceCode"/>--> - 盘点类型:<input id="type" type="text" name="type" th:value="*{typeLabel}" readonly="readonly"> + 库存明细ID:<input id = "inventoryDetailId" type="text" name="inventoryDetailId" /> </li> <li> - <!--头 状 态:<input type="text" name="firstStatus"/>--> - 状态:<input id = "status" type="text" name="status" th:value="*{statusLabel}" readonly="readonly"> + 物料编码:<input id="materialCode" type="text" name="materialCode" /> </li> <li> - 创建时间:<input id="created" type="text" name="created" th:value="*{created}" readonly="readonly"> - + 物料名称:<input id="materialName" type="text" name="materialName" /> </li> <li> - 创建人:<input id="createdBy" type="text" name="createdBy" th:value="*{createdBy}" readonly="readonly"> + 物料规格:<input id="materialSpec" type="text" name="materialSpec" /> </li> <li> - 最后更新时间:<input id="lastUpdated" type="text" name="lastUpdated" th:value="*{lastUpdated}" readonly="readonly"> - + 任务主表:<input id="taskHeaderId" type="text" name="taskHeaderId" /> + </li> + <li> + 库存状态: + <select name="inventorySts" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}"> + <option value="">所有</option> + <option th:each="e : ${inventoryStatus}" th:text="${e['dictLabel']}" + th:value="${e['dictValue']}"></option> + </select> + </li> + <li> + 盘点明细状态:<select name="enableStatus" + th:with="lastStatus=${@dict.getType('cyclecountStatus')}"> + <option value="">所有</option> + <option th:each="e : ${lastStatus}" th:text="${e['dictLabel']}" + th:value="${e['dictValue']}"></option> + </select> + </li> + <li> + 批次:<input id="batch" type="text" name="batch" /> + </li> + <li> + 批号:<input id="lot" type="text" name="lot" /> + </li> + <li> + 项目号:<input id="projectNo" type="text" name="projectNo" /> + </li> + <li class="time"> + <label>创建时间: </label> + <input type="text" class="time-input" id="startTime" placeholder="开始时间" + name="params[createdBegin]"/> + <span>-</span> + <input type="text" class="time-input" id="endTime" placeholder="结束时间" + name="params[createdEnd]"/> + </li> + <li> + 创建人:<input id="createdBy" type="text" name="createdBy" /> + </li> + <li> + 完成人:<input id="completedBy" type="text" name="completedBy"/> </li> <li> - 最后更新人:<input id="lastUpdatedBy" type="text" name="lastUpdatedBy" th:value="*{lastUpdatedBy}" readonly="readonly"> + <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i + class="fa fa-search"></i> 搜索</a> </li> - <!--<li>--> - <!--<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i--> - <!--class="fa fa-search"></i> 搜索</a>--> - <!--</li>--> </ul> </div> </div> @@ -56,14 +88,6 @@ shiro:hasPermission="inventory:cycleCountDetail:add"> <i class="fa fa-plus"></i> 新增 </a> - <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="comfirmAllWithNoGapQty()" - shiro:hasPermission="inventoryHeader:cycleCountDetail:confirmAll"> - <i class="fa fa-vcard"></i> 全部无差异确认 - </a> - <a class="btn btn-outline btn-danger btn-rounded" onclick="comfirmRemainWithNoGapQty()" - shiro:hasPermission="inventoryHeader:cycleCountDetail:confirmRemain"> - <i class="fa fa-vcard"></i> 剩余无差异确认 - </a>--> <a class="btn btn-outline btn-danger btn-rounded" onclick="createCyclecountWithGapQty()" shiro:hasPermission="inventory:cyclecountDetail:cyclecountRepeat"> <i class="fa fa-vcard"></i> 差异复盘 @@ -89,10 +113,10 @@ var removeFlag = [[${@permission.hasPermi('inventoryHeader:cycleCountDetail:remove')}]]; var confirmFlag=[[${@permission.hasPermi('inventoryHeader:cycleCountDetail:confirm')}]]; var createTaskFalg=[[${@permission.hasPermi('inventoryHeader:cycleCountDetail:createTask')}]]; - var prefix = ctx + "inventory/cyclecountDetail"; - var prefix_head = ctx + "inventory/cyclecountHeader"; + var prefix = ctx + "inventory/cycleCountDetail"; + var prefix_head = ctx + "inventory/cycleCountHeader"; var remove_url= prefix + "/remove"; - var datas = [[${@dict.getType('cyclecountDetailStatus')}]]; + var datas = [[${@dict.getType('cyclecountStatus')}]]; var inventoryStatus=[[${@dict.getType('inventoryStatus')}]]; var created ; @@ -115,63 +139,67 @@ }, { field: 'id', - title: 'id', + title: '明细ID', sortable:true }, { - field: 'code', - title: '盘点单编码', - sortable:false + field: 'cycleCountHeadId', + title: '盘点主单ID', + }, + { + field: 'warehouseCode', + title: '仓库', + }, + { + field: 'countId', + title: '盘点内部号', + visible: false + }, + { + field: 'round', + title: '盘点次数', + visible: false + }, + { + field: 'taskHeaderId', + title: '任务ID', + visible: false + }, + { + field: 'taskDetailId', + title: '任务明细ID', + visible: false }, { field: 'companyCode', - title: '货主' + title: '货主', + visible: true }, - // { - // field: 'locationId', - // title: '库位id' - // }, { field: 'locationCode', title: '库位编码', - sortable:true }, { field: 'containerCode', title: '容器编号', - sortable:true + }, - // { - // field: 'materialId', - // title: '物料Id' - // }, - /*{ + { field: 'materialCode', - title: '存货编码', - sortable:true - },*/ + title: '物料编码', + }, { field: 'materialName', title: '物料名称', - sortable:true }, { - field: 'materialSpecification', + field: 'materialSpec', title: '物料规格', - sortable:true }, { - field: 'receiptCode', - title: '入库单编码' + field: 'materialUnit', + title: '物料单位', }, - // { - // field: 'receiptId', - // title: '入库单id' - // }, - // { - // field: 'receiptDetailId', - // title: '入库单明细id' - // }, { field: 'batch', title: '批次', @@ -183,25 +211,18 @@ sortable:true }, { - field: 'project', + field: 'projectNo', title: '项目号', sortable:true }, + { - field: 'manufactureDate', - title: '生产日期' - }, - { - field: 'expirationDate', - title: '失效日期' - }, - { - field: 'inventoryStatus', + field: 'inventorySts', title: '库存状态', formatter: function(value, row, index) { return $.table.selectDictLabel(inventoryStatus, value); }, - sortable:true + }, { field: 'systemQty', @@ -216,6 +237,34 @@ field: 'gapQty' }, { + field: 'rejectionNote', + title: '失败原因' + }, + { + field: 'countedBy', + title: '盘点创建人' + }, + { + field: 'countedAt', + title: '盘点创建日期' + }, + { + field: 'assignedTo', + title: '指派用户' + }, + { + field: 'assignedAt', + title: '指派时间' + }, + { + field: 'completedBy', + title: '完成用户' + }, + { + field: 'completedAt', + title: '完成时间' + }, + { field: 'created', title: '创建时间' }, @@ -232,11 +281,7 @@ title: '更新用户' }, { - field: 'fromSource', - title: '来源' - }, - { - field: 'status', + field: 'enableStatus', title: '盘点明细状态', formatter: function(value, row, index) { return $.table.selectDictLabel(datas, value); @@ -244,9 +289,14 @@ sortable:true }, { - field: 'isCreateTask', - title: '盘点任务' + field: 'processStamp', + title: '处理标记' + }, + { + field: 'version', + title: '数据版本' }, + // { // field: 'userDef1', // title: '自定义字段1' @@ -280,15 +330,15 @@ }); function update() { - var url = location.search; //获取url中"?"符后的字串 + let url = location.search; //获取url中"?"符后的字串 if (url.indexOf("?") != -1) { //判断是否有参数 - var str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串 - strs = str.split("="); //用等号进行分隔 (因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔) + let str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串 + let strs = str.split("="); //用等号进行分隔 (因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔) $.ajax({ url: prefix + "/list", type:"post", data:{ - code:strs[1] + cycleCountHeadId:strs[1] }, success:function (res) { $("#bootstrap-table").bootstrapTable('removeAll'); @@ -297,36 +347,27 @@ $("#bootstrap-table").bootstrapTable('insertRow', {index:i,row:res.data[i]}); } } - }) + }); + return false } $.ajax({ - url:prefix_head+ "/getHeader", + url: prefix + "/list", type:"post", - data:{ - id:$('#headId').val() - }, - success:function (value) { - if (value.data) { - $('#code').val(value.data.code); - $('#type').val(value.data.typeLabel); - $('#status').val(value.data.statusLabel); - $('#created').val(value.data.created); - var text_val=$('#created').val(); - $('#created').val(text_val.replace("T"," ")); - $('#createdBy').val(value.data.createdBy); - $('#lastUpdated').val(value.data.lastUpdated); - var text_val_t=$('#lastUpdated').val(); - $('#lastUpdated').val(text_val_t.replace("T"," ")); - $('#lastUpdatedBy').val(value.data.lastUpdatedBy); + data:{}, + success:function (res) { + $("#bootstrap-table").bootstrapTable('removeAll'); + // $("#bootstrap-table").bootstrapTable('append', res.data); + for (var i = 0; i < res.data.length; i++) { + $("#bootstrap-table").bootstrapTable('insertRow', {index:i,row:res.data[i]}); } } }) } function add() { - var headId = $('#headId').val(); + var cycleCountHeadId = $('#cycleCountHeadId').val(); var companyCode = $('#companyCode').val(); - if(headId !=null && headId!="" && headId!=undefined && companyCode !=null && companyCode!="" && companyCode!=undefined ){ - open("添加盘点明细", prefix+"/add?headId=" + headId + "&companyCode=" + companyCode); + if(cycleCountHeadId !=null && cycleCountHeadId!="" && cycleCountHeadId!=undefined && companyCode !=null && companyCode!="" && companyCode!=undefined ){ + open("添加盘点明细", prefix+"/add?cycleCountHeadId=" + cycleCountHeadId + "&companyCode=" + companyCode); } } function remove(id) { @@ -351,11 +392,11 @@ } /**盘点补货*/ function addGoods() { - var headId = $('#headId').val(); + var headId = $('#cycleCountHeadId').val(); var companyCode = $('#companyCode').val(); - var code = $('#code').val(); + //var code = $('#code').val(); // var url = prefix+"/addGoods"; - $.modal.open("盘点补货",prefix+"/addGoods?headId=" + headId + "&companyCode=" + companyCode + "&code=" + code); + $.modal.open("盘点补货",prefix+"/addGoods?headId=" + cycleCountHeadId + "&companyCode=" + companyCode ); } // @@ -520,7 +561,7 @@ function comfirmAllWithNoGapQty() { $.modal.confirm("确认全部无差异登记么?注意这会覆盖先前登记的信息。", function() { var url = prefix + "/comfirmAllWithNoGapQty"; - var data = { "headId": $('#headId').val() }; + var data = { "cycleCountHeadId": $('#cycleCountHeadId').val() }; postInner(url, data); }); } @@ -531,7 +572,7 @@ function comfirmRemainWithNoGapQty() { $.modal.confirm("确认剩余无差异登记么?", function() { var url = prefix + "/comfirmRemainWithNoGapQty"; - var data = { "headId": $('#headId').val() }; + var data = { "cycleCountHeadId": $('#cycleCountHeadId').val() }; postInner(url, data); }); } @@ -549,7 +590,7 @@ function createCyclecountWithGapQty() { $.modal.confirm("确认进行差异复盘么?该操作会将有差异的明细重新生成一个新的盘点单。", function() { var url = prefix + "/createCyclecountWithGapQty"; - var data = { "headId": $('#headId').val() }; + var data = { "cycleCountHeadId": $('#cycleCountHeadId').val() }; postInner(url, data); }); } @@ -558,7 +599,7 @@ function adjust() { $.modal.confirm("注意:该操作将更改库存,当实盘数量为0且库位上只剩空容器时,请手动执行空托出库任务,容器上有货则无需其他操作!", function() { var url = prefix + "/adjust"; - var data = { "headId": $('#headId').val() }; + var data = { "cycleCountHeadId": $('#cycleCountHeadId').val() }; postInner(url,data); }); } @@ -592,7 +633,7 @@ function outcheckAll() { $.modal.confirm("确认进行盘点任务生成么?注意,这将会使未生成盘点任务的明细生成盘点任务!", function() { var url = prefix + "/createCyccountTaskByHeadId"; - var data = { "headId": $('#headId').val() }; + var data = { "cycleCountHeadId": $('#cycleCountHeadId').val() }; postInner(url,data); }); } diff --git a/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html b/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html index 5d7d09b..474cea0 100644 --- a/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html +++ b/src/main/resources/templates/inventory/cycleCountHeader/cycleCountHeader.html @@ -25,14 +25,19 @@ <div class="select-list"> <ul> <li> - 盘点单号:<input type="text" name="code"/> + 盘点主单ID:<input type="text" name="id"/> </li> <li> 源盘点单号:<input type="text" name="sourceCode"/> </li> <li> - <!--头 状 态:<input type="text" name="firstStatus"/>--> - 盘点单类型:<select name="type" + 盘点主表编号:<input type="text" name="masterCode"/> + </li> + <li> + 原始盘点ID:<input type="text" name="countOrderId"/> + </li> + <li> + 盘点单类型:<select name="countType" th:with="firstStatus=${@dict.getType('cyclecountType')}"> <option value="">所有</option> <option th:each="e : ${firstStatus}" th:text="${e['dictLabel']}" @@ -40,8 +45,7 @@ </select> </li> <li> - <!--尾 状 态:<input type="text" name="lastStatus"/>--> - 盘点单状态:<select name="status" + 盘点单状态:<select name="statusCyc" th:with="lastStatus=${@dict.getType('cyclecountStatus')}"> <option value="">所有</option> <option th:each="e : ${lastStatus}" th:text="${e['dictLabel']}" @@ -270,15 +274,18 @@ }] }; $.table.init(options); - $("#myTab li:eq(1)").one('click', (function () { - var cyc_id = $("#bootstrap-table tr:eq(1) td:eq(1)").text(); - var cyc_code = $("#bootstrap-table tr:eq(1) td:eq(2)").text(); - detail(cyc_id, cyc_code); - })); + $("#myTab li:eq(1)").click(function () { + // var cyc_id = $("#bootstrap-table tr:eq(1) td:eq(1)").text(); + // var cyc_code = $("#bootstrap-table tr:eq(1) td:eq(2)").text(); + detail(); + }); }); - function detail(id, code) { - var url = ctx + "inventory/cycleCountDetail?code=" + code; + function detail(id) { + let url = ctx + "inventory/cycleCountDetail"; + if (id) { + url = ctx + "inventory/cycleCountDetail?id=" + id; + } $("#tabDetail").children().remove(); $("#myTab li").removeClass("active"); var height = $(document).height() - 100 + 'px'; diff --git a/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html b/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html index 324c067..43b46b9 100644 --- a/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html +++ b/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html @@ -73,7 +73,7 @@ <div th:include="include :: footer"></div> <script th:inline="javascript"> var prefix = ctx + "inventory/inventoryHeader"; - var report = [[${@permission.hasPermi('inventoryHeader:cyclecountAdjust:report')}]]; + var report = [[${@permission.hasPermi('inventoryHeader:adjustHeader:report')}]]; var datas = [[${@dict.getType('sys_normal_disable')}]]; var status2 = [[${@dict.getType('adjustType')}]]; diff --git a/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html b/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html index 183bd63..5482699 100644 --- a/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html +++ b/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html @@ -274,10 +274,6 @@ visible:false }, { - field : 'lastCycleCountDate', - title : '上次盘点日期' - }, - { field : 'processStamp', title : '处理标记', visible:false diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index 43628af..1df616b 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -74,11 +74,11 @@ </select> </div> </div> - <!--<div class="row" style="padding:0 10px;">--> - <!--<div class="col-lg-3"></div>--> - <!--<div class="col-lg-9" style="padding:10px 0 0 5px;"><input class="i-checks" type="checkbox" name="rememberme" style="background: #fff"/> 记住我--> - <!--</div>--> - <!--</div>--> + <div class="row" style="padding:0 10px;"> + <div class="col-lg-3"></div> + <div class="col-lg-9" style="padding:10px 0 0 5px;"><input class="i-checks" type="checkbox" name="rememberme" style="background: #fff"/> 记住我 + </div> + </div> <button style="margin-top: 20px" class="btn btn-success btn-block" id="btnSubmit" data-loading="正在验证登录,请稍后...">登录</button> </form> </div> diff --git a/src/main/resources/templates/receipt/receiptDetail/add.html b/src/main/resources/templates/receipt/receiptDetail/add.html index 736fbf5..111f5c9 100644 --- a/src/main/resources/templates/receipt/receiptDetail/add.html +++ b/src/main/resources/templates/receipt/receiptDetail/add.html @@ -18,12 +18,6 @@ <input id="receiptCode" name="receiptCode" class="form-control" type="text" th:value="${receiptCode}" readonly="readonly"> </div> </div> -<!-- <div class="form-group">--> -<!-- <label class="col-sm-3 control-label">上游系统行号:</label>--> -<!-- <div class="col-sm-8">--> -<!-- <input id="sourceLine" name="sourceLine" class="form-control" type="text" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')">--> -<!-- </div>--> -<!-- </div>--> <div class="form-group"> <label class="col-sm-3 control-label">物料编码:</label> <div class="col-sm-8"> @@ -52,7 +46,7 @@ <div class="form-group"> <label class="col-sm-3 control-label">项目号:</label> <div class="col-sm-8"> - <input id="project" name="project" class="form-control" type="text"> + <input id="projectNo" name="projectNo" class="form-control" type="text"> </div> </div> <div class="form-group"> @@ -76,7 +70,7 @@ <div class="form-group"> <label class="col-sm-3 control-label">库存状态:</label> <div class="col-sm-8"> - <select id="inventoryStatus" name="inventoryStatus" class="form-control" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}"> + <select id="inventorySts" name="inventorySts" class="form-control" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}"> <option th:each="dict : ${inventoryStatus}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}"></option> </select> </div> @@ -148,8 +142,7 @@ }, submitHandler: function(form) { var tableValue = $("#form-receiptDetail-add").serialize(); - tableValue = formValueReplace(tableValue, "companyCode", $("#companyCode option:selected").val()) - tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked')); + tableValue = formValueReplace(tableValue, "inventorySts", $("#inventorySts option:selected").val()); $.operate.save(prefix + "/add", tableValue); } }); diff --git a/src/main/resources/templates/receipt/receiptDetail/edit.html b/src/main/resources/templates/receipt/receiptDetail/edit.html index e3c567a..eb16d9a 100644 --- a/src/main/resources/templates/receipt/receiptDetail/edit.html +++ b/src/main/resources/templates/receipt/receiptDetail/edit.html @@ -3,142 +3,132 @@ <meta charset="utf-8"> <head 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-receiptDetail-edit" th:object="${receiptDetail}"> - <input id="id" name="id" th:field="*{id}" type="hidden"> - <div class="form-group"> - <label class="col-sm-3 control-label">上游系统行号:</label> - <div class="col-sm-8"> - <input id="sourceLine" name="sourceLine" th:field="*{sourceLine}" class="form-control" type="text"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">入库单id:</label> - <div class="col-sm-8"> - <input id="receiptId" name="receiptId" th:field="*{receiptId}" class="form-control" type="text" readonly="readonly" > - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">入库单编码:</label> - <div class="col-sm-8"> - <input id="receiptCode" name="receiptCode" th:field="*{receiptCode}" class="form-control" type="text" readonly="readonly" > - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">存货编码:</label> - <div class="col-sm-8"> - <input id="materialCode" 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 id="batch" name="batch" th:field="*{batch}" 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 id="lot" name="lot" th:field="*{lot}" 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 id="project" name="project" th:field="*{project}" 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 id="manufactureDate" name="manufactureDate" th:field="*{manufactureDate}" 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 id="expirationDate" name="expirationDate" th:field="*{expirationDate}" 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 id="inventoryStatus" name="inventoryStatus" class="form-control" th:with="inventoryStatus=${@dict.getType('inventoryStatus')}" th:field="*{inventoryStatus}"> - <option th:each="dict : ${inventoryStatus}" 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 id="qty" name="qty" th:field="*{qty}" 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 id="qtyCompleted" name="qtyCompleted" th:field="*{qtyCompleted}" class="form-control" type="text" readonly="readonly"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">单价:</label> - <div class="col-sm-8"> - <input id="price" name="price" th:field="*{price}" 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 id="created" name="created" th:field="*{created}" 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 id="createdBy" name="createdBy" th:field="*{createdBy}" 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 id="lastUpdated" name="lastUpdated" th:field="*{lastUpdated}" 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 id="lastUpdatedBy" name="lastUpdatedBy" th:field="*{lastUpdatedBy}" class="form-control" type="text">--> - <!--</div>--> - <!--</div>--> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">自定义字段1:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="userDef1" name="userDef1" th:field="*{userDef1}" class="form-control" type="text">--> - <!--</div>--> - <!--</div>--> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">自定义字段2:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="userDef2" name="userDef2" th:field="*{userDef2}" class="form-control" type="text">--> - <!--</div>--> - <!--</div>--> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">自定义字段3:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="userDef3" name="userDef3" th:field="*{userDef3}" class="form-control" type="text">--> - <!--</div>--> - <!--</div>--> - <div class="form-group"> - <div class="form-control-static col-sm-offset-9"> - <button type="submit" class="btn btn-primary">提交</button> - <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> - </div> - </div> - </form> - </div> - <div th:include="include::footer"></div> -</body> -<script> +<div class="wrapper wrapper-content animated fadeInRight ibox-content"> + <form class="form-horizontal m" id="form-receiptDetail-edit" th:object="${receiptDetail}"> + <input id="id" name="id" hidden th:field="*{id}"> + <div class="form-group"> + <label class="col-sm-3 control-label">入库单id:</label> + <div class="col-sm-8"> + <input id="receiptId" name="receiptId" class="form-control" type="text" th:value="${receiptId}" readonly="readonly" th:field="*{receiptId}"> + <input id="companyCode" name="companyCode" type="hidden" th:value="${companyCode}" th:field="*{companyCode}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">入库单号:</label> + <div class="col-sm-8"> + <input id="receiptCode" name="receiptCode" class="form-control" type="text" th:value="${receiptCode}" readonly="readonly" th:field="*{receiptCode}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">物料编码:</label> + <div class="col-sm-8"> + <input id="materialCode" name="materialCode" class="form-control" type="text" onkeyup=" this.value=this.value.replace(/^\s+|\s+$/g,'')" th:field="*{materialCode}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">供应商编码:</label> + <div class="col-sm-8"> + <input id="supplierCode" name="supplierCode" class="form-control" type="text" th:field="*{supplierCode}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">批次:</label> + <div class="col-sm-8"> + <input id="batch" name="batch" class="form-control" type="text" th:field="*{batch}"> + </div> + </div> + + <div class="form-group"> + <label class="col-sm-3 control-label">批号:</label> + <div class="col-sm-8"> + <input id="lot" name="lot" class="form-control" type="text" th:field="*{lot}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">项目号:</label> + <div class="col-sm-8"> + <input id="projectNo" name="projectNo" class="form-control" type="text" th:field="*{projectNo}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">是否质检:</label> + <div class="col-sm-8"> + <input id="qcCheck" name="qcCheck" class="form-control" type="text" th:field="*{qcCheck}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">生产日期:</label> + <div class="col-sm-8"> + <input id="manufactureDate" name="manufactureDate" class="form-control" type="text" th:field="*{manufactureDate}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">失效日期:</label> + <div class="col-sm-8"> + <input id="expirationDate" name="expirationDate" class="form-control" type="text" th:field="*{expirationDate}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">库存状态:</label> + <div class="col-sm-8"> + <select id="inventorySts" name="inventorySts" class="form-control" + th:with="inventoryStatus=${@dict.getType('inventoryStatus')}" th:field="*{inventorySts}"> + <option th:each="dict : ${inventoryStatus}" 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 id="totalQty" name="totalQty" class="form-control" type="text" th:field="*{totalQty}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">定位规则:</label> + <div class="col-sm-8"> + <input id="locatingRule" name="locatingRule" class="form-control" type="text" th:field="*{locatingRule}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">标价:</label> + <div class="col-sm-8"> + <input id="itemListPrice" name="itemListPrice" class="form-control" type="text" th:field="*{itemListPrice}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">净价:</label> + <div class="col-sm-8"> + <input id="itemNetPrice" name="itemNetPrice" class="form-control" type="text" th:field="*{itemNetPrice}"> + </div> + </div> + <!--<div class="form-group">--> + <!--<label class="col-sm-3 control-label">自定义字段1:</label>--> + <!--<div class="col-sm-8">--> + <!--<input id="userDef1" name="userDef1" class="form-control" type="text">--> + <!--</div>--> + <!--</div>--> + <!--<div class="form-group"> --> + <!--<label class="col-sm-3 control-label">自定义字段2:</label>--> + <!--<div class="col-sm-8">--> + <!--<input id="userDef2" name="userDef2" class="form-control" type="text">--> + <!--</div>--> + <!--</div>--> + <!--<div class="form-group"> --> + <!--<label class="col-sm-3 control-label">自定义字段3:</label>--> + <!--<div class="col-sm-8">--> + <!--<input id="userDef3" name="userDef3" class="form-control" type="text">--> + <!--</div>--> + <!--</div>--> + <div class="form-group"> + <div class="form-control-static col-sm-offset-9"> + <button type="submit" class="btn btn-primary">提交</button> + <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> + </div> + </div> + </form> +</div> +<div th:include="include::footer"></div> +<script type="text/javascript"> var prefix = ctx + "receipt/receiptDetail"; $("#form-receiptDetail-edit").validate({ rules:{ @@ -151,70 +141,14 @@ materialCode:{ required:true }, - sourceLine:{ - required:false, - digits:true - }, - qty:{ - required:true, - min:0 - }, - price:{ - required:false, - min:0 - } }, submitHandler: function(form) { - $.ajax({ - cache : true, - type : "POST", - url : prefix + "/edit", - data : { - "id": $("input[name='id']").val(), - "receiptId": $("input[name='receiptId']").val(), - "receiptCode": $("input[name='receiptCode']").val(), - "sourceLine": $("input[name='sourceLine']").val(), - // "materialId": $("input[name='materialId']").val(), - "materialCode": $("input[name='materialCode']").val(), - "batch": $("input[name='batch']").val(), - "lot": $("input[name='lot']").val(), - "project": $("input[name='project']").val(), - "manufactureDate": $("input[name='manufactureDate']").val(), - "expirationDate": $("input[name='expirationDate']").val(), - "inventoryStatus": $("#inventoryStatus option:selected").val(), - "qty": $("input[name='qty']").val(), - "price": $("input[name='price']").val() - // "userDef1": $("input[name='userDef1']").val(), - // "userDef2": $("input[name='userDef2']").val(), - // "userDef3": $("input[name='userDef3']").val() - }, - async : false, - error : function(request) { - $.modal.alertError("请求失败!"); - }, - success : function(data) { - // $.operate.saveSuccess(data); - // console.log(data); - ajaxSuccess(data); - } - }); + var tableValue = $("#form-receiptDetail-edit").serialize(); + tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked')); + $.operate.save(prefix + "/edit", tableValue); } }); - function ajaxSuccess(result) { - if (result.code == web_status.SUCCESS) { - $.modal.msgSuccess(result.msg); - var index = parent.layer.getFrameIndex(window.name); - parent.layer.close(index); - window.parent.loadDetail(id,code); - } else { - $.modal.alertError(result.msg); - } - $.modal.closeLoading(); - } - - var id=$("input[name='receiptId']").val(); - var code=$("input[name='receiptCode']").val(); $(function () { layui.use('laydate', function() { var laydate = layui.laydate; @@ -223,6 +157,6 @@ }); }); - </script> +</body> </html> diff --git a/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html b/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html index 59e2aa8..d544e18 100644 --- a/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html +++ b/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html @@ -51,6 +51,7 @@ <script th:inline="javascript"> var editFlag = [[${@permission.hasPermi('receipt:receiptDetail:edit')}]]; var removeFlag = [[${@permission.hasPermi('receipt:receiptDetail:remove')}]]; + var approvalFlag = [[${@permission.hasPermi('receipt:receiptHeader:approval')}]] var prefix = ctx + "receipt/receiptDetail"; var datas = [[${@dict.getType('isVirtualBom')}]]; $(function() { @@ -218,6 +219,11 @@ align: 'center', formatter: function(value, row, index) { var actions = []; + if (row.processStamp == 5){ + actions.push('<a class="btn btn-success btn-xs ' + approvalFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')">审核通过</a> '); + actions.push('<a class="btn btn-warning btn-xs ' + approvalFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')">驳回</a>'); + actions.push('<a class="btn btn-danger btn-xs ' + approvalFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')">作废</a>'); + } actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>'); return actions.join(''); diff --git a/src/main/resources/templates/receipt/receiptHeader/add.html b/src/main/resources/templates/receipt/receiptHeader/add.html index 9140218..d5a02b9 100644 --- a/src/main/resources/templates/receipt/receiptHeader/add.html +++ b/src/main/resources/templates/receipt/receiptHeader/add.html @@ -64,7 +64,7 @@ url : prefix + "/add", data : { "receiptType": $("#receiptType option:selected").val(), - "companyCode": $("#company option:selected").attr("code"), + "companyCode": $("#company option:selected").val(), "receiptNote": $("input[name='receiptNote']").val(), "scheduledArriveDate": $("input[name='scheduledArriveDate']").val(), }, diff --git a/src/main/resources/templates/receipt/receiptHeader/edit.html b/src/main/resources/templates/receipt/receiptHeader/edit.html index f755604..369ce9c 100644 --- a/src/main/resources/templates/receipt/receiptHeader/edit.html +++ b/src/main/resources/templates/receipt/receiptHeader/edit.html @@ -2,196 +2,93 @@ <html lang="zh" xmlns:th="http://www.thymeleaf.org"> <meta charset="utf-8"> <head 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-receiptHeader-edit" th:object="${receiptHeader}"> - <input id="id" name="id" th:field="*{id}" type="hidden"> - <div class="form-group"> - <label class="col-sm-3 control-label">入库单号:</label> - <div class="col-sm-8"> - <input id="code" name="code" th:field="*{code}" class="form-control" type="text" readonly="readonly"> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">货主:</label> - <div class="col-sm-8"> - <select id="company" name="company" class="form-control" th:with="list=${@company.selectCompanyByCurrentUserId()}" th:field="*{companyId}" readonly="true" disabled="disabled"> - <option th:each="item : ${list}" th:text="${item['name']}" th:value="${item['id']}" th:attr="code = ${item['code']}"></option> - </select> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">入库类型:</label> - <div class="col-sm-8"> - <select id="type" name="type" class="form-control" th:with="receiptHeaderType=${@receiptTypeService.getType()}" th:field="*{receiptType}"> - <option th:each="dict : ${receiptHeaderType}" th:text="${dict['name']}" th:value="${dict['code']}"></option> - </select> - </div> - </div> - <div class="form-group"> - <label class="col-sm-3 control-label">上游系统单号:</label> - <div class="col-sm-8"> - <input id="sourceCode" name="sourceCode" th:field="*{sourceCode}" class="form-control" type="text"> - </div> +<div class="wrapper wrapper-content animated fadeInRight ibox-content"> + <form class="form-horizontal m" id="form-receiptHeader-edit" th:object="${receiptHeader}"> + <input id="id" name="id" type="hidden" th:field="*{id}"> + <div class="form-group"> + <label class="col-sm-3 control-label">入库类型:</label> + <div class="col-sm-8"> + <select id="receiptType" name="receiptType" class="form-control" + th:with="receiptHeaderType=${@receiptTypeService.getType()}" th:field="*{receiptType}"> + <option th:each="dict : ${receiptHeaderType}" th:text="${dict['name']}" th:value="${dict['code']}"></option> + </select> </div> - <div class="form-group"> - <label class="col-sm-3 control-label">上游平台:</label> - <div class="col-sm-8"> - <input id="sourcePlatform" name="sourcePlatform" th:field="*{sourcePlatform}" 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 id="companyCode" name="companyCode" class="form-control" th:with="list=${@companyService.getCode()}" th:field="*{companyCode}"> + <option th:each="item : ${list}" th:text="${item['name']}" th:value="${item['id']}" th:attr = " code = ${item['code']}"></option> + </select> </div> - <div class="form-group"> - <label class="col-sm-3 control-label">供应商编码:</label> - <div class="col-sm-8"> - <select id="supplierCode" name="supplierCode" class="form-control" th:with="supplier=${@Supplier.getSupplierCode()}" th:field="*{supplierCode}"> - <option th:each="dict : ${supplier}" th:text="${dict['name']}" th:value="${dict['code']}"></option> - </select> - </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">入库单备注:</label> + <div class="col-sm-8"> + <input id="receiptNote" name="receiptNote" class="form-control" type="text" th:field="*{receiptType}"> </div> - <!--<div class="form-group">--> - <!--<label class="col-sm-3 control-label">总数量:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="totalQty" name="totalQty" th:field="*{totalQty}" 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 id="totalLines" name="totalLines" th:field="*{totalLines}" 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 id="remark" name="remark" th:field="*{remark}" 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 id="scheduledArriveDate" name="scheduledArriveDate" class="form-control" type="text" th:field="*{scheduledArriveDate}"> </div> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">upload状态:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="uploadStatus" name="uploadStatus" th:field="*{uploadStatus}" class="form-control" type="text" readonly="true">--> - <!--</div>--> - <!--</div>--> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">上传备注:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="uploadremark" name="uploadremark" th:field="*{uploadremark}" class="form-control" type="text" readonly="true">--> - <!--</div>--> - <!--</div>--> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">上传时间:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="uploadTime" name="uploadTime" th:field="*{uploadTime}" class="time-input" type="text" readonly="true">--> - <!--</div>--> - <!--</div>--> - <div class="form-group"> - <label class="col-sm-3 control-label">入库预约时间:</label> - <div class="col-sm-8"> - <input id="appointmentTime" name="appointmentTime" th:field="*{appointmentTime}" class="form-control" type="text"> - </div> + </div> + <div class="form-group"> + <div class="form-control-static col-sm-offset-9"> + <button type="submit" class="btn btn-primary">提交</button> + <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> </div> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">单据头状态:</label>--> - <!--<div class="col-sm-8">--> - <!--<!–<input id="firstStatus" name="firstStatus" th:field="*{firstStatus}" class="form-control" type="text" readonly="true">–>--> - <!--<select id="firstStatus" class="form-control m-b" th:with="status=${@dict.getType('receiptHeaderStatus')}">--> - <!--<option th:each="dict : ${status}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}" th:field="*{firstStatus}"></option>--> - <!--</select>--> - <!--</div>--> - <!--</div>--> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">单据尾状态:</label>--> - <!--<div class="col-sm-8">--> - <!--<!–<input id="lastStatus" name="lastStatus" th:field="*{lastStatus}" class="form-control" type="text" readonly="true">–>--> - <!--<select id="lastStatus" class="form-control m-b" th:with="status=${@dict.getType('receiptHeaderStatus')}">--> - <!--<option th:each="dict : ${status}" th:text="${dict['dictLabel']}" th:value="${dict['dictValue']}" th:field="*{lastStatus}"></option>--> - <!--</select>--> - <!--</div>--> - <!--</div>--> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">创建时间:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="created" name="created" th:field="*{created}" class="time-input" type="text" readonly="true">--> - <!--</div>--> - <!--</div>--> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">创建用户:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="createdBy" name="createdBy" th:field="*{createdBy}" class="form-control" type="text" readonly="true">--> - <!--</div>--> - <!--</div>--> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">最后修改时间:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="lastUpdated" name="lastUpdated" th:field="*{lastUpdated}" class="time-input" type="text" readonly="true">--> - <!--</div>--> - <!--</div>--> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">更新用户:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="lastUpdatedBy" name="lastUpdatedBy" th:field="*{lastUpdatedBy}" class="form-control" type="text" readonly="true">--> - <!--</div>--> - <!--</div>--> - <div class="form-group"> - <label class="col-sm-3 control-label">是否有效:</label> - <div class="col-sm-8"> - <div class="onoffswitch"> - <input type="checkbox" th:checked="*{enable}" class="onoffswitch-checkbox" id="enable" name="enable"> - <label class="onoffswitch-label" for="enable"> - <span class="onoffswitch-inner"></span> - <span class="onoffswitch-switch"></span> - </label> - </div> - </div> - </div> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">自定义字段1:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="userDef1" name="userDef1" th:field="*{userDef1}" class="form-control" type="text">--> - <!--</div>--> - <!--</div>--> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">自定义字段2:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="userDef2" name="userDef2" th:field="*{userDef2}" class="form-control" type="text">--> - <!--</div>--> - <!--</div>--> - <!--<div class="form-group"> --> - <!--<label class="col-sm-3 control-label">自定义字段3:</label>--> - <!--<div class="col-sm-8">--> - <!--<input id="userDef3" name="userDef3" th:field="*{userDef3}" class="form-control" type="text">--> - <!--</div>--> - <!--</div>--> - <div class="form-group"> - <div class="form-control-static col-sm-offset-9"> - <button type="submit" class="btn btn-primary">提交</button> - <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> - </div> - </div> - </form> - </div> - <div th:include="include::footer"></div> - <script type="text/javascript"> - var prefix = ctx + "receipt/receiptHeader"; - - $("#form-receiptHeader-edit").validate({ - submitHandler: function(form) { - // var tableValue = $.common.getTableValue("#form-receiptHeader-edit"); - var tableValue = $("#form-receiptHeader-edit").serialize(); - tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked')); - tableValue = formValueReplace(tableValue, "companyId", $("#company option:selected").val()); - tableValue = formValueReplace(tableValue, "companyCode", $("#company option:selected").attr("code")); - $.operate.save(prefix + "/edit", tableValue); - } - }); + </div> + </form> +</div> +<div th:include="include::footer"></div> +<script type="text/javascript"> + var prefix = ctx + "receipt/receiptHeader"; - $(function () { - layui.use('laydate', function() { - var laydate = layui.laydate; - laydate.render({ elem: '#appointmentTime', min:0 ,theme: 'molv', format: 'yyyy-MM-dd HH:mm:ss'}); + $("#form-receiptHeader-edit").validate({ + rules:{ + receiptType:{ + required:true, + }, + companyCode:{ + required:true, + }, + scheduledArriveDate:{ + required:true, + } + }, + submitHandler: function(form) { + $.ajax({ + cache : true, + type : "POST", + url : prefix + "/edit", + data : { + "id": $("#id").val(), + "receiptType": $("#receiptType option:selected").val(), + "companyCode": $("#company option:selected").attr("code"), + "receiptNote": $("input[name='receiptNote']").val(), + "scheduledArriveDate": $("input[name='scheduledArriveDate']").val(), + }, + async : false, + error : function(request) { + $.modal.alertError("请求失败!"); + }, + success : function(data) { + $.operate.saveSuccess(data); + } }); - }) - </script> + } + }); + + $(function () { + layui.use('laydate', function() { + var laydate = layui.laydate; + laydate.render({ elem: '#scheduledArriveDate',min: 0, theme: 'molv', format: 'yyyy-MM-dd HH:mm:ss'}); + }); + }) + +</script> </body> </html> diff --git a/src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html b/src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html index 55622b3..fc08b07 100644 --- a/src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html +++ b/src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html @@ -20,7 +20,7 @@ <div id="myTabContent" class="tab-content"> <div class="tab-pane fade in active" id="tabHeader"> <div class="col-sm-12 select-info"> - <form id="receiptHeader-form"> + <form id="shipmentHeaderHistory-form"> <div class="select-list"> <ul> <li> diff --git a/src/main/resources/templates/system/dict/data/add.html b/src/main/resources/templates/system/dict/data/add.html index 9d0a437..6824a9c 100644 --- a/src/main/resources/templates/system/dict/data/add.html +++ b/src/main/resources/templates/system/dict/data/add.html @@ -5,7 +5,7 @@ <body class="white-bg"> <div class="wrapper wrapper-content animated fadeInRight ibox-content"> <form class="form-horizontal m" id="form-dict-add"> - <input class="form-control" type="text" name="headerId" id="headerId" th:value="${dictType.id}" /> + <input class="form-control" type="hidden" name="headerId" id="headerId" th:value="${dictType.id}" /> <div class="form-group"> <label class="col-sm-3 control-label ">字典标签:</label> <div class="col-sm-8"> diff --git a/src/test/java/com.huaheng.test/CreateCode.java b/src/test/java/com.huaheng.test/CreateCode.java index 8afe45c..ed68e38 100644 --- a/src/test/java/com.huaheng.test/CreateCode.java +++ b/src/test/java/com.huaheng.test/CreateCode.java @@ -1155,8 +1155,8 @@ public class CreateCode { packages.put("container","com.huaheng.pc.config.container.Container"); packages.put("container_type","com.huaheng.pc.config.containerType.ContainerType"); packages.put("customer","com.huaheng.pc.general.customer.Customer"); - packages.put("cyclecount_adjust","com.huaheng.pc.inventoryHeader.cyclecountAdjust.CyclecountAdjust"); - packages.put("cyclecount_adjustdetail","com.huaheng.pc.inventoryHeader.cyclecountAdjustDetail.CyclecountAdjustDetail"); + packages.put("cyclecount_adjust","com.huaheng.pc.inventoryHeader.adjustHeader.CyclecountAdjust"); + packages.put("cyclecount_adjustdetail","com.huaheng.pc.inventoryHeader.adjustDetail.CyclecountAdjustDetail"); packages.put("cyclecount_detail","com.huaheng.pc.inventoryHeader.cycleCountDetail.CycleCountDetail"); packages.put("cyclecount_header","com.huaheng.pc.inventoryHeader.cycleCountHeader.CycleCountHeader"); packages.put("inventory","com.huaheng.pc.inventoryHeader.inventoryHeader.Inventory");