Browse Source

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	ruoyi-admin/src/main/java/com/ruoyi/purchase/controller/PurchaseOrderController.java
dev
zhangsiqi 7 months ago
parent
commit
872e13a15e
  1. 11
      ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AfterSalesShippingDeviceController.java
  2. 24
      ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AfterSalesShippingDevice.java
  3. 8
      ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/dto/AfterSalesShippingDeviceEditDto.java
  4. 14
      ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/dto/WarehouseAndAfterSalesDto.java
  5. 11
      ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/vo/SelectShippingDeviceVO.java
  6. 4
      ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAfterSalesShippingDeviceService.java
  7. 22
      ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AfterSalesShippingDeviceServiceImpl.java
  8. 2
      ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpBomController.java
  9. 7
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpBomService.java
  10. 52
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpBomServiceImpl.java
  11. 15
      ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderServiceImpl.java
  12. 9
      ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysCustomerController.java
  13. 26
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysMakeorderPick.java
  14. 5
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysMakeorderPickVo.java
  15. 9
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysSalesOrder.java
  16. 7
      ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysContactsMapper.java
  17. 2
      ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysCustomerMapper.java
  18. 8
      ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysInvoiceMapper.java
  19. 8
      ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysContactsService.java
  20. 8
      ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysInvoiceService.java
  21. 5
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysContactsServiceImpl.java
  22. 16
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java
  23. 5
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysInvoiceServiceImpl.java
  24. 12
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderPickServiceImpl.java
  25. 4
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseStorageOrderController.java
  26. 7
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseOutOrderMapper.java
  27. 5
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseStorageOrderService.java
  28. 124
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java
  29. 7
      ruoyi-admin/src/main/resources/mapper/system/SysContactsMapper.xml
  30. 7
      ruoyi-admin/src/main/resources/mapper/system/SysInvoiceMapper.xml
  31. 8
      ruoyi-admin/src/main/resources/mapper/system/SysMakeorderPickMapper.xml
  32. 10
      ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderMapper.xml
  33. 6
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseOutOrderMapper.xml
  34. 83
      ruoyi-admin/src/main/resources/templates/aftersales/shippingDevice/detail.html
  35. 33
      ruoyi-admin/src/main/resources/templates/aftersales/shippingDevice/edit.html
  36. 15
      ruoyi-admin/src/main/resources/templates/aftersales/shippingDevice/shippingDevice.html
  37. 5
      ruoyi-admin/src/main/resources/templates/erp/bom/edit.html
  38. 2
      ruoyi-admin/src/main/resources/templates/system/customer/customer.html
  39. 193
      ruoyi-admin/src/main/resources/templates/system/customer/detail.html
  40. 16
      ruoyi-admin/src/main/resources/templates/system/makeorderpick/taskScjlVerify.html
  41. 15
      ruoyi-admin/src/main/resources/templates/system/makeorderpick/taskSczgVerify.html
  42. 36
      ruoyi-admin/src/main/resources/templates/system/salesOrder/add.html
  43. 3
      ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storagePurchaseWarehouse.html
  44. 2
      ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storagePurchaseWarehouseDetail.html
  45. 4
      ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/temporaryPurchase.html
  46. 4
      ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/temporaryPurchaseWarehouse.html

11
ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AfterSalesShippingDeviceController.java

@ -165,6 +165,17 @@ public class AfterSalesShippingDeviceController extends BaseController
/**
* 修改保存出货设备详情
*/
@ResponseBody
@PostMapping("/detail")
public AjaxResult detailSave(@RequestBody AfterSalesShippingDeviceEditDto dto)
{
return toAjax(afterSalesShippingDeviceService.detailSaveAfterSalesShippingDevice(dto));
}
/**
* 作废出货设备
*/

24
ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AfterSalesShippingDevice.java

@ -92,7 +92,7 @@ public class AfterSalesShippingDevice extends BaseEntity
/** 出厂日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
private String factoryDate;
private Date factoryDate;
/** 保修期 */
@Excel(name = "保修期")
@ -105,7 +105,7 @@ public class AfterSalesShippingDevice extends BaseEntity
/** 锁机时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "锁机时间", width = 30, dateFormat = "yyyy-MM-dd")
private String lockDate;
private Date lockDate;
/** 是否有锁机时间 */
@Excel(name = "是否有锁机时间")
@ -114,7 +114,7 @@ public class AfterSalesShippingDevice extends BaseEntity
/** 损耗品到期时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "损耗品到期时间", width = 30, dateFormat = "yyyy-MM-dd")
private String wastageExpireDate;
private Date wastageExpireDate;
/** 是否过损耗品到期时间 */
@Excel(name = "是否过损耗品到期时间")
@ -123,7 +123,7 @@ public class AfterSalesShippingDevice extends BaseEntity
/** 二次维修后部件质保时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "二次维修后部件质保时间", width = 30, dateFormat = "yyyy-MM-dd")
private String componentGuaranteeDate;
private Date componentGuaranteeDate;
/** 是否过二次维修后部件质保日期 */
@Excel(name = "是否过二次维修后部件质保日期")
@ -425,35 +425,35 @@ public class AfterSalesShippingDevice extends BaseEntity
return maintainOrderCode;
}
public String getFactoryDate() {
public Date getFactoryDate() {
return factoryDate;
}
public void setFactoryDate(String factoryDate) {
public void setFactoryDate(Date factoryDate) {
this.factoryDate = factoryDate;
}
public String getLockDate() {
public Date getLockDate() {
return lockDate;
}
public void setLockDate(String lockDate) {
public void setLockDate(Date lockDate) {
this.lockDate = lockDate;
}
public String getWastageExpireDate() {
public Date getWastageExpireDate() {
return wastageExpireDate;
}
public void setWastageExpireDate(String wastageExpireDate) {
public void setWastageExpireDate(Date wastageExpireDate) {
this.wastageExpireDate = wastageExpireDate;
}
public String getComponentGuaranteeDate() {
public Date getComponentGuaranteeDate() {
return componentGuaranteeDate;
}
public void setComponentGuaranteeDate(String componentGuaranteeDate) {
public void setComponentGuaranteeDate(Date componentGuaranteeDate) {
this.componentGuaranteeDate = componentGuaranteeDate;
}

8
ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/dto/AfterSalesShippingDeviceEditDto.java

@ -79,23 +79,23 @@ public class AfterSalesShippingDeviceEditDto {
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonProperty("factoryDate")
private String factoryDate;
private Date factoryDate;
@JsonProperty("guaranteePeriod")
private String guaranteePeriod;
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonProperty("lockDate")
private String lockDate;
private Date lockDate;
@JsonProperty("lockDateFlag")
private String lockDateFlag;
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonProperty("wastageExpireDate")
private String wastageExpireDate;
private Date wastageExpireDate;
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonProperty("componentGuaranteeDate")
private String componentGuaranteeDate;
private Date componentGuaranteeDate;
}

14
ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/dto/WarehouseAndAfterSalesDto.java

@ -9,6 +9,12 @@ import java.util.Date;
@Data
public class WarehouseAndAfterSalesDto {
@JsonProperty("outOrderCode")
private String outOrderCode;
@JsonProperty("warehouseName")
private String warehouseName;
@JsonProperty("snCode")
private String snCode;
@ -17,24 +23,24 @@ public class WarehouseAndAfterSalesDto {
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonProperty("factoryDate")
private String factoryDate;
private Date factoryDate;
@JsonProperty("guaranteePeriod")
private String guaranteePeriod;
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonProperty("lockDate")
private String lockDate;
private Date lockDate;
@JsonProperty("lockDateFlag")
private String lockDateFlag;
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonProperty("wastageExpireDate")
private String wastageExpireDate;
private Date wastageExpireDate;
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonProperty("componentGuaranteeDate")
private String componentGuaranteeDate;
private Date componentGuaranteeDate;
}

11
ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/vo/SelectShippingDeviceVO.java

@ -3,6 +3,9 @@ package com.ruoyi.aftersales.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 添加出货设备时新增出货设备列表
*/
@ -23,22 +26,22 @@ public class SelectShippingDeviceVO {
private String snCode;
/** 出厂日期 */
private String factoryDate;
private Date factoryDate;
/** 保修期 */
private String guaranteePeriod;
/** 锁机时间 */
private String lockDate;
private Date lockDate;
/** 是否有锁机时间 */
private String lockDateFlag;
/** 损耗品到期时间 */
private String wastageExpireDate;
private Date wastageExpireDate;
/** 二次维修后部件质保时间 */
private String componentGuaranteeDate;
private Date componentGuaranteeDate;
}

4
ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAfterSalesShippingDeviceService.java

@ -103,4 +103,8 @@ public interface IAfterSalesShippingDeviceService
* */
List<SysEquipDetailDto> selectAfterSalesShippingDeviceByNoAndCode(AfterSalesShippingDevice afterSalesShippingDevice);
/**
* 保存出货设备详情
* */
int detailSaveAfterSalesShippingDevice(AfterSalesShippingDeviceEditDto dto);
}

22
ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AfterSalesShippingDeviceServiceImpl.java

@ -17,6 +17,8 @@ import com.ruoyi.sales.domain.SalesAftersalesNotice;
import com.ruoyi.sales.domain.SalesAftersalesNoticeDetail;
import com.ruoyi.sales.mapper.SalesAftersalesNoticeDetailMapper;
import com.ruoyi.system.dto.SysEquipDetailDto;
import com.ruoyi.warehouse.domain.WarehouseOutOrder;
import com.ruoyi.warehouse.mapper.WarehouseOutOrderMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.aftersales.mapper.AfterSalesShippingDeviceMapper;
@ -44,6 +46,9 @@ public class AfterSalesShippingDeviceServiceImpl implements IAfterSalesShippingD
@Autowired
private SalesAftersalesNoticeDetailMapper aftersalesNoticeDetailMapper;
@Autowired
private WarehouseOutOrderMapper warehouseOutOrderMapper;
/**
* 查询出货设备
*
@ -102,6 +107,14 @@ public class AfterSalesShippingDeviceServiceImpl implements IAfterSalesShippingD
public WarehouseAndAfterSalesDto selectWarehouseAndAfterSalesDtoById(Long shippingDeviceCode) {
WarehouseAndAfterSalesDto warehouseAndAfterSalesDto = new WarehouseAndAfterSalesDto();
AfterSalesShippingDevice afterSalesShippingDevice = afterSalesShippingDeviceMapper.selectAfterSalesShippingDeviceById(shippingDeviceCode);
//查找仓库信息
WarehouseOutOrder warehouseOutOrder = warehouseOutOrderMapper.selectWarehouseOutOrderByShippingDeviceId(afterSalesShippingDevice.getShippingDeviceId());
if (StringUtils.isNotNull(warehouseOutOrder)){
warehouseAndAfterSalesDto.setOutOrderCode(warehouseOutOrder.getOutOrderCode());
warehouseAndAfterSalesDto.setWarehouseName(warehouseOutOrder.getWarehouseName());
}
//查找出货设备信息
if (StringUtils.isNotNull(afterSalesShippingDevice)){
warehouseAndAfterSalesDto.setFactoryDate(afterSalesShippingDevice.getFactoryDate());
warehouseAndAfterSalesDto.setLockDate(afterSalesShippingDevice.getLockDate());
@ -227,4 +240,13 @@ public class AfterSalesShippingDeviceServiceImpl implements IAfterSalesShippingD
}
return sysEquipDetailDtos;
}
/**
* 保存出货设备详情
* */
@Override
public int detailSaveAfterSalesShippingDevice(AfterSalesShippingDeviceEditDto dto) {
return 1;
}
}

2
ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpBomController.java

@ -343,7 +343,7 @@ public class ErpBomController extends BaseController
erpBom.setUseStatus("0");
// 审核状态-待审核
erpBom.setAuditStatus("0");
erpBomService.submitApply(erpBom);
erpBomService.submitUpdateApply(erpBom);
return AjaxResult.success();
}

7
ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpBomService.java

@ -61,10 +61,10 @@ public interface IErpBomService
/**
* 修改bom
*
* @param erpBomVo bom
* @param erpBom bom
* @return 结果
*/
public int updateErpBom(ErpBomVo erpBomVo);
public int updateErpBom(ErpBom erpBom);
/**
* 批量删除bom
@ -118,6 +118,9 @@ public interface IErpBomService
public ProcessInstance submitApply(ErpBom erpBom);
@Transactional(rollbackFor = Exception.class)
ProcessInstance submitUpdateApply(ErpBom erpBom);
ErpBom selectErpBomByOneMaterialNo(String materialNo);
List<ErpBomVo> selectSubBomsByParentMaterialNo(Map<String, Object> params);

52
ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpBomServiceImpl.java

@ -345,22 +345,24 @@ private ISysAttachService attachService;
/**
* 修改bom
*
* @param erpBomVo bom
* @param erpBom bom
* @return 结果
*/
@Override
public int updateErpBom(ErpBomVo erpBomVo)
public int updateErpBom(ErpBom erpBom)
{
String loginName = ShiroUtils.getLoginName();
erpBomVo.setUpdateBy(loginName);
erpBomVo.setEngineer(loginName);
erpBomVo.setUpdateTime(DateUtils.getNowDate());
int editFlag = erpBomMapper.updateErpBom(erpBomVo);
Long id = erpBomVo.getId();
erpBom.setUpdateBy(loginName);
erpBom.setEngineer(loginName);
erpBom.setUpdateTime(DateUtils.getNowDate());
int editFlag = erpBomMapper.updateErpBom(erpBom);
Long id = erpBom.getId();
try {
//todo 添加bom信息子组件列表
List<ErpBom> erpBomSubList = erpBomVo.getErpBomList();
List<ErpBom> erpBomSubList = erpBom.getErpBomList();
if (CollectionUtils.isNotEmpty(erpBomSubList)) {
erpBomMapper.deleteErpBomByParentId(id);
for (int i = 0; i < erpBomSubList.size(); i++) {
ErpBom erpBom1 = erpBomSubList.get(i);
erpBom1.setId(null);
@ -368,7 +370,7 @@ private ISysAttachService attachService;
erpBom1.setParentId(id);
erpBom1.setCreateBy(ShiroUtils.getLoginName());
erpBom1.setCreateTime(DateUtils.getNowDate());
erpBomMapper.updateErpBom(erpBom1);
erpBomMapper.insertErpBom(erpBom1);
}
}
@ -703,6 +705,38 @@ private ISysAttachService attachService;
return processInstance;
}
/**
* 提交更新申请
* @param erpBom
* @return
*/
@Transactional(rollbackFor = Exception.class)
@Override
public ProcessInstance submitUpdateApply(ErpBom erpBom) {
SysUser user = ShiroUtils.getSysUser();
erpBom.setApplyUser(user.getLoginName());
erpBom.setApplyTime(DateUtils.getNowDate());
//获取插入的Bom列表的id
updateErpBom(erpBom);
// 启动流程
String applyTitle = user.getUserName()+"发起了物料BOM信息提交审批-"+DateUtils.dateTimeNow();
String instanceType = "submit";
ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,erpBom, user);
String processInstanceId = processInstance.getProcessInstanceId();
// 提交实例id
erpBom.setSubmitInstanceId(processInstanceId);
// 存在提交完就流程结束的情况
boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId);
if(processIsFinish){
// 审核状态-审核通过
erpBom.setAuditStatus("1");
// 使用状态-是
erpBom.setUseStatus("1");
}
erpBomMapper.updateErpBom(erpBom);
return processInstance;
}
@Override
public ErpBom selectErpBomByOneMaterialNo(String materialNo) {
return erpBomMapper.selectErpBomByOneMaterialNo(materialNo);

15
ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderServiceImpl.java

@ -601,7 +601,10 @@ public class QualityOrderServiceImpl implements IQualityOrderService
qualityOrderReportUnqualified.setMaterialName(warehouseStorageOrderDetail.getMaterialName());
qualityOrderReportUnqualified.setCreateTime(new Date());
qualityOrderReportUnqualified.setCreateBy(warehouseStorageOrderDetail.getCreateBy());
orderReportUnqualifiedMapper.insertQualityOrderReportUnqualified(qualityOrderReportUnqualified);
int insertQualityOrderReportUnqualifiedResult = orderReportUnqualifiedMapper.insertQualityOrderReportUnqualified(qualityOrderReportUnqualified);
if (insertQualityOrderReportUnqualifiedResult <= 0){
throw new BusinessException("插入品质单不合格分类表失败");
}
}
@ -619,7 +622,10 @@ public class QualityOrderServiceImpl implements IQualityOrderService
qualityOrderReport.setQualityHasqualifiedNum(warehouseStorageOrderDetail.getQualityHasQualifiedNum());
qualityOrderReport.setCreateTime(new Date());
qualityOrderReport.setCreateBy(warehouseStorageOrderDetail.getCreateBy());
orderReportMapper.insertQualityOrderReport(qualityOrderReport);
int insertResult = orderReportMapper.insertQualityOrderReport(qualityOrderReport);
if (insertResult <= 0){
throw new BusinessException("插入品质单报告失败");
}
}
//品质单详情表
@ -653,7 +659,10 @@ public class QualityOrderServiceImpl implements IQualityOrderService
qualityOrderDetail.setQualityHasqualifiedNum(warehouseStorageOrderDetail.getQualityHasQualifiedNum());
qualityOrderDetail.setCreateTime(new Date());
qualityOrderDetail.setCreateBy(warehouseStorageOrderDetail.getCreateBy());
orderDetailMapper.insertQualityOrderDetail(qualityOrderDetail);
int insertResult= orderDetailMapper.insertQualityOrderDetail(qualityOrderDetail);
if (insertResult <= 0){
throw new BusinessException("插入品质单详情失败");
}
}

9
ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysCustomerController.java

@ -62,6 +62,8 @@ public class SysCustomerController extends BaseController
@Autowired
private ISysContactsService sysContactsService;
@Autowired
private ISysInvoiceService sysInvoiceService;
@Autowired
private ISysShippingAddressService sysShippingAddressService ;
@Autowired
private ISysDictTypeService sysDictTypeService;
@ -210,6 +212,13 @@ public class SysCustomerController extends BaseController
public String detail(@PathVariable("id")Long id, ModelMap mmap)
{
SysCustomer sysCustomer = sysCustomerService.selectSysCustomerById(id);
String enterpriseCode = sysCustomer.getEnterpriseCode();
List<SysContacts> sysContacts = sysContactsService.selectSysContactsByCode(enterpriseCode);
List<SysInvoice> sysInvoices = sysInvoiceService.selectSysInvoiceByCode(enterpriseCode);
List<SysShippingAddress> shippingAddresses = sysShippingAddressService.selectSysShippingAddressByenterpriseCode(enterpriseCode);
mmap.put("contactsList",sysContacts);
mmap.put("invoicesList",sysInvoices);
mmap.put("shippingAddressList",shippingAddresses);
mmap.put("sysCustomer", sysCustomer);
return prefix + "/detail";
}

26
ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysMakeorderPick.java

@ -50,6 +50,11 @@ public class SysMakeorderPick extends BaseEntity
@Excel(name = "领料员")
private String pickUser;
/*物料合计*/
private Integer materialSum;
/*数量合计*/
private Integer enterpriseSum;
/** 审核状态 0-待审核 1-审核通过 2-审核拒绝 */
@Excel(name = "审核状态 0-待审核 1-审核通过 2-审核拒绝")
private String auditStatus;
@ -161,7 +166,24 @@ public class SysMakeorderPick extends BaseEntity
{
return pickUser;
}
public void setAuditStatus(String auditStatus)
public Integer getMaterialSum() {
return materialSum;
}
public void setMaterialSum(Integer materialSum) {
this.materialSum = materialSum;
}
public Integer getEnterpriseSum() {
return enterpriseSum;
}
public void setEnterpriseSum(Integer enterpriseSum) {
this.enterpriseSum = enterpriseSum;
}
public void setAuditStatus(String auditStatus)
{
this.auditStatus = auditStatus;
}
@ -267,6 +289,8 @@ public class SysMakeorderPick extends BaseEntity
.append("outOrderCode", getOutOrderCode())
.append("pickStatus", getPickStatus())
.append("pickUser", getPickUser())
.append("materialSum", getMaterialSum())
.append("enterpriseSum", getEnterpriseSum())
.append("auditStatus", getAuditStatus())
.append("instanceId", getInstanceId())
.append("instanceType", getInstanceType())

5
ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysMakeorderPickVo.java

@ -32,11 +32,6 @@ public class SysMakeorderPickVo extends SysMakeorderPick {
/** 流程实例类型名称 */
private String instanceTypeName;
/*物料合计*/
private Integer materialSum;
/*数量合计*/
private Integer enterpriseSum;
/**
* 关键词
*/

9
ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysSalesOrder.java

@ -151,6 +151,7 @@ public class SysSalesOrder extends BaseEntity {
private Integer outBoundQuantity;
@Excel(name = "未出库数量")
private Integer unBoundQuantity;
private String enterpriseMaterialNo;
private String applyUser;
private Date applyTime;
private String submitInstanceId;
@ -669,6 +670,14 @@ public class SysSalesOrder extends BaseEntity {
this.selectAftersalesNoticeVOList = selectAftersalesNoticeVOList;
}
public String getEnterpriseMaterialNo() {
return enterpriseMaterialNo;
}
public void setEnterpriseMaterialNo(String enterpriseMaterialNo) {
this.enterpriseMaterialNo = enterpriseMaterialNo;
}
@Override
public String toString() {
return Objects.toStringHelper(this)

7
ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysContactsMapper.java

@ -28,6 +28,13 @@ public interface SysContactsMapper
*/
List<SysContacts> selectSysContactsList(SysContacts sysContacts);
/**
* 查询联系人明细列表
*
* @param enterpriseCode 客户编号
* @return 联系人明细集合
*/
List<SysContacts> selectSysContactsByCode(String enterpriseCode);
/**
* 新增联系人明细
*

2
ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysCustomerMapper.java

@ -86,7 +86,7 @@ public interface SysCustomerMapper
int restoreSysCustomerById(Long id);
SysCustomerVo cancelSysCustomerById(Long id);
int cancelSysCustomerById(Long id);
SysCustomerVo selectSysCustomerByCustomer(SysCustomerVo sysCustomerVo);
}

8
ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysInvoiceMapper.java

@ -26,7 +26,13 @@ public interface SysInvoiceMapper
* @return 其他开票信息集合
*/
public List<SysInvoice> selectSysInvoiceList(SysInvoice sysInvoice);
/**
* 查询其他开票信息列表
*
* @param enterpriseCode 客户代码
* @return 其他开票信息集合
*/
public List<SysInvoice> selectSysInvoiceByCode(String enterpriseCode);
/**
* 新增其他开票信息
*

8
ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysContactsService.java

@ -27,6 +27,14 @@ public interface ISysContactsService
*/
public List<SysContacts> selectSysContactsList(SysContacts sysContacts);
/**
* 查询联系人明细列表
*
* @param enterpriseCode 客户编号
* @return 联系人明细集合
*/
List<SysContacts> selectSysContactsByCode(String enterpriseCode);
/**
* 新增联系人明细
*

8
ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysInvoiceService.java

@ -27,6 +27,14 @@ public interface ISysInvoiceService
*/
public List<SysInvoice> selectSysInvoiceList(SysInvoice sysInvoice);
/**
* 查询其他开票信息列表
*
* @param enterpriseCode 客户代码
* @return 其他开票信息集合
*/
public List<SysInvoice> selectSysInvoiceByCode(String enterpriseCode);
/**
* 新增其他开票信息
*

5
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysContactsServiceImpl.java

@ -48,6 +48,11 @@ public class SysContactsServiceImpl implements ISysContactsService
return sysContactsMapper.selectSysContactsList(sysContacts);
}
@Override
public List<SysContacts> selectSysContactsByCode(String enterpriseCode) {
return sysContactsMapper.selectSysContactsByCode(enterpriseCode);
}
/**
* 新增联系人明细
*

16
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysCustomerServiceImpl.java

@ -229,12 +229,14 @@ public class SysCustomerServiceImpl implements ISysCustomerService
public CustomerDto selectCustomerDtoByEnterpriseCode(String customerId) {
CustomerDto customerDto = new CustomerDto();
SysCustomer sysCustomer = sysCustomerMapper.selectSysCustomerByEnterpriseCode(customerId);
customerDto.setContactNumber(sysCustomer.getContactNumber());
customerDto.setCustomerAddress(sysCustomer.getCustomerAddress());
customerDto.setEnterpriseCode(sysCustomer.getEnterpriseCode());
customerDto.setEnterpriseName(sysCustomer.getEnterpriseName());
customerDto.setDeliveryAddress(sysCustomer.getDeliveryAddress());
customerDto.setCustomerContact(sysCustomer.getCustomerContact());
if(sysCustomer != null){
customerDto.setContactNumber(sysCustomer.getContactNumber());
customerDto.setCustomerAddress(sysCustomer.getCustomerAddress());
customerDto.setEnterpriseCode(sysCustomer.getEnterpriseCode());
customerDto.setEnterpriseName(sysCustomer.getEnterpriseName());
customerDto.setDeliveryAddress(sysCustomer.getDeliveryAddress());
customerDto.setCustomerContact(sysCustomer.getCustomerContact());
}
return customerDto;
}
@ -317,7 +319,7 @@ public class SysCustomerServiceImpl implements ISysCustomerService
@Override
@Transactional(rollbackFor = Exception.class)
public ProcessInstance cancelSysCustomerById(Long id) {
SysCustomerVo sysCustomerVo = sysCustomerMapper.cancelSysCustomerById(id);
SysCustomerVo sysCustomerVo = sysCustomerMapper.selectSysCustomerById(id);
// 审核状态-待审核
sysCustomerVo.setAuditStatus("0");
SysUser user = ShiroUtils.getSysUser();

5
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysInvoiceServiceImpl.java

@ -51,6 +51,11 @@ public class SysInvoiceServiceImpl implements ISysInvoiceService
return sysInvoiceMapper.selectSysInvoiceList(sysInvoice);
}
@Override
public List<SysInvoice> selectSysInvoiceByCode(String enterpriseCode) {
return sysInvoiceMapper.selectSysInvoiceByCode(enterpriseCode);
}
/**
* 新增其他开票信息
*

12
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysMakeorderPickServiceImpl.java

@ -174,10 +174,20 @@ public class SysMakeorderPickServiceImpl implements ISysMakeorderPickService
// 生成编号,年月日规则
String billNo = redisCache.generateBillNo("SCLL");
sysMakeorderPick.setPickNo(billNo);
int id = sysMakeorderPickMapper.insertSysMakeorderPick(sysMakeorderPick);
//保留领料单数不为空的数据
List<SysMakeorderPickDetail> filterPickDetails = pickDetails.stream().filter(details -> details.getPickNum() != null).collect(Collectors.toList());
Integer enterpriseSum = (int) filterPickDetails.stream()
.mapToLong(SysMakeorderPickDetail::getPickNum)
.sum();
sysMakeorderPick.setEnterpriseSum(enterpriseSum);
sysMakeorderPick.setMaterialSum(filterPickDetails.size());
int id = sysMakeorderPickMapper.insertSysMakeorderPick(sysMakeorderPick);
// 插入子表
for (int i = 0; i < filterPickDetails.size(); i++) {
//获取过滤后的领料单详情

4
ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseStorageOrderController.java

@ -384,8 +384,8 @@ public class WarehouseStorageOrderController extends BaseController
@ResponseBody
public AjaxResult storagePurchaseWarehouseSave(@RequestBody WarehouseStorageOrder warehouseStorageOrder)
{
//暂时引用采购入库的保存方法
return toAjax(warehouseStorageOrderService.updateStoragePurchaseSave(warehouseStorageOrder));
return toAjax(warehouseStorageOrderService.updateStoragePurchaseWarehouseSave(warehouseStorageOrder));
}

7
ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseOutOrderMapper.java

@ -97,4 +97,11 @@ public interface WarehouseOutOrderMapper
* 根据出库单号查询出库单数据
* */
WarehouseOutOrder selectWarehouseOutOrderByCode(String outOrderCode);
/*
* 根据出货设备Id查找仓库出库单数据
*
* */
WarehouseOutOrder selectWarehouseOutOrderByShippingDeviceId(String shippingDeviceId);
}

5
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseStorageOrderService.java

@ -128,4 +128,9 @@ public interface IWarehouseStorageOrderService
* 通过生产入库单品质后生成入库单
* */
int insertWarehouseStorageOrderByMakeQualityOrder(QualityOrder tempQualityOrder, List<QualityOrderDetail> qualityOrderDetailList);
/**
* 修改保存入库-采购单(仓库入库)
*/
int updateStoragePurchaseWarehouseSave(WarehouseStorageOrder warehouseStorageOrder);
}

124
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java

@ -309,10 +309,29 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
warehouseStorageOrder.setWarehouseQualityStatus("0");
warehouseStorageOrder.setWarehouseEmployee(loginName);
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList = warehouseStorageOrder.getWarehouseStorageOrderDetailList();
int actualArriveNum = 0;
//检查填写的实际到货数是否有空值
boolean hasActualArriveNumNull = warehouseStorageOrderDetailList.stream()
.anyMatch(item -> item.getActualArriveNum() == null);
if (hasActualArriveNumNull) {
throw new BusinessException("存在实际到货数为空,请检查!");
}
//入库单主表的实际到货数为子表的合计
int actualArriveNum = warehouseStorageOrderDetailList.stream().mapToInt(WarehouseStorageOrderDetail::getActualArriveNum).sum();
actualArriveNum = warehouseStorageOrderDetailList.stream().mapToInt(WarehouseStorageOrderDetail::getActualArriveNum).sum();
int temporaryQualifiedNum = 0;
//检查填写的品质合格数是否有空值
boolean hasTemporaryQualifiedNumNull = warehouseStorageOrderDetailList.stream()
.anyMatch(item -> item.getTemporaryQualifiedNum() == null);
if (hasTemporaryQualifiedNumNull) {
throw new BusinessException("存在品质合格数为空,请检查!");
}
//入库单主表的暂收合格数为子表的合计
int temporaryQualifiedNum = warehouseStorageOrderDetailList.stream().mapToInt(WarehouseStorageOrderDetail::getTemporaryQualifiedNum).sum();
temporaryQualifiedNum = warehouseStorageOrderDetailList.stream().mapToInt(WarehouseStorageOrderDetail::getTemporaryQualifiedNum).sum();
if (actualArriveNum < temporaryQualifiedNum) {
throw new BusinessException("暂收合格数不能大于实际到货数");
}
@ -432,6 +451,81 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
}
/**
* 修改保存入库-采购单(仓库入库)
*/
@Transactional(rollbackFor = Exception.class)
@Override
public int updateStoragePurchaseWarehouseSave(WarehouseStorageOrder warehouseStorageOrder) {
String loginName = ShiroUtils.getLoginName();
//假设全部入库
warehouseStorageOrder.setWarehouseStorageStatus("4");
warehouseStorageOrder.setUpdateBy(loginName);
warehouseStorageOrder.setUpdateTime(new Date());
//记录一下入库时间
warehouseStorageOrder.setStorageTime(new Date());
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList = warehouseStorageOrder.getWarehouseStorageOrderDetailList();
if (StringUtils.isEmpty(warehouseStorageOrderDetailList)){
log.warn("入库单详情数据为空:{}",warehouseStorageOrderDetailList);
throw new BusinessException("入库单详情数据为空");
}
//入库数
Integer storageNum = 0;
// 检查storageNum是否含有null值
boolean hasThisStorageNumNull = warehouseStorageOrderDetailList.stream()
.anyMatch(item -> item.getStorageNum() == null);
if (hasThisStorageNumNull) {
throw new BusinessException("存在入库数为空,请检查!");
}
// 计算各个字段的总和
storageNum = warehouseStorageOrderDetailList.stream()
.mapToInt(WarehouseStorageOrderDetail::getStorageNum)
.sum();
//插入主表入库数量
warehouseStorageOrder.setStorageNum(storageNum);
//更新生产单数据
int updateMakeOrderResult = sysMakeOrderService.updateSysMakeOrderByWarehouseStorageOrder(warehouseStorageOrder, warehouseStorageOrderDetailList);
if (updateMakeOrderResult <= 0){
throw new BusinessException("更新生产订单失败,未影响任何行");
}
for (WarehouseStorageOrderDetail warehouseStorageOrderDetail : warehouseStorageOrderDetailList) {
//更新入库单详情的数据
warehouseStorageOrderDetail.setUpdateBy(loginName);
warehouseStorageOrderDetail.setUpdateTime(new Date());
//更新已入库数
warehouseStorageOrderDetail.setHasStorageNum(warehouseStorageOrderDetail.getStorageNum());
int updateWarehouseStorageOrderDetailResult = storageOrderDetailMapper.updateWarehouseStorageOrderDetail(warehouseStorageOrderDetail);
if (updateWarehouseStorageOrderDetailResult <= 0){
throw new BusinessException("更新仓库入库单详情失败,未影响任何行");
}
}
//更新开发修改单数据
String relatedOrderCode = warehouseStorageOrder.getRelatedOrderCode();
ErpDevelopModifyorder erpDevelopModifyorder = developModifyorderMapper.selectErpDevelopModifyorderByCode(relatedOrderCode);
if (erpDevelopModifyorder != null){
erpDevelopModifyorder.setPurchaseStorageStatus("8");
developModifyorderMapper.updateErpDevelopModifyorder(erpDevelopModifyorder);
}
//更新入库单的数据
int updateResult = warehouseStorageOrderMapper.updateWarehouseStorageOrder(warehouseStorageOrder);
if (updateResult <= 0){
log.warn("更新入库单失败,未影响任何行");
}
return updateResult;
}
/**
* 通用入库单详情保存接口
* */
@ -586,10 +680,32 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
warehouseStorageOrder.setWarehouseQualityStatus("0");
warehouseStorageOrder.setWarehouseEmployee(loginName);
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList = warehouseStorageOrder.getWarehouseStorageOrderDetailList();
int actualArriveNum = 0;
//检查填写的实际到货数是否有空值
boolean hasActualArriveNumNull = warehouseStorageOrderDetailList.stream()
.anyMatch(item -> item.getActualArriveNum() == null);
if (hasActualArriveNumNull) {
throw new BusinessException("存在实际到货数为空,请检查!");
}
//入库单主表的实际到货数为子表的合计
int actualArriveNum = warehouseStorageOrderDetailList.stream().mapToInt(WarehouseStorageOrderDetail::getActualArriveNum).sum();
actualArriveNum = warehouseStorageOrderDetailList.stream().mapToInt(WarehouseStorageOrderDetail::getActualArriveNum).sum();
int temporaryQualifiedNum = 0;
//检查填写的品质合格数是否有空值
boolean hasTemporaryQualifiedNumNull = warehouseStorageOrderDetailList.stream()
.anyMatch(item -> item.getTemporaryQualifiedNum() == null);
if (hasTemporaryQualifiedNumNull) {
throw new BusinessException("存在品质合格数为空,请检查!");
}
//入库单主表的暂收合格数为子表的合计
int temporaryQualifiedNum = warehouseStorageOrderDetailList.stream().mapToInt(WarehouseStorageOrderDetail::getTemporaryQualifiedNum).sum();
temporaryQualifiedNum = warehouseStorageOrderDetailList.stream().mapToInt(WarehouseStorageOrderDetail::getTemporaryQualifiedNum).sum();
if (actualArriveNum < temporaryQualifiedNum) {
throw new BusinessException("暂收合格数不能大于实际到货数");
}

7
ruoyi-admin/src/main/resources/mapper/system/SysContactsMapper.xml

@ -45,7 +45,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectSysContactsVo"/>
where contactid = #{contactid}
</select>
<select id="selectSysContactsByCode" parameterType="String" resultMap="SysContactsResult">
<include refid="selectSysContactsVo"/>
where enterprise_code = #{enterpriseCode}
</select>
<insert id="insertSysContacts" parameterType="SysContacts" useGeneratedKeys="true" keyProperty="contactid">
insert into sys_contacts
<trim prefix="(" suffix=")" suffixOverrides=",">

7
ruoyi-admin/src/main/resources/mapper/system/SysInvoiceMapper.xml

@ -38,7 +38,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectSysInvoiceVo"/>
where id = #{id}
</select>
<select id="selectSysInvoiceByCode" parameterType="String" resultMap="SysInvoiceResult">
<include refid="selectSysInvoiceVo"/>
where enterprise_code = #{enterpriseCode}
</select>
<insert id="insertSysInvoice" parameterType="SysInvoice" useGeneratedKeys="true" keyProperty="id">
insert into sys_invoice
<trim prefix="(" suffix=")" suffixOverrides=",">

8
ruoyi-admin/src/main/resources/mapper/system/SysMakeorderPickMapper.xml

@ -36,8 +36,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select a.id, a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time, a.remark
, a.make_no, a.sale_no, a.pick_no, a.out_order_code, a.pick_status, a.pick_user, a.audit_status
, a.instance_id, a.instance_type, a.submit_instance_id, a.cancel_instance_id, a.restore_instance_id, a.apply_title, a.apply_user, a.apply_time
,b.material_sum
,b.enterprise_sum
,a.material_sum
,a.enterprise_sum
from sys_makeorder_pick a
left join sys_sales_order b
on a.sale_no = b.sales_order_code
@ -90,6 +90,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="outOrderCode != null">out_order_code,</if>
<if test="pickStatus != null">pick_status,</if>
<if test="pickUser != null">pick_user,</if>
<if test="materialSum != null">material_sum,</if>
<if test="enterpriseSum != null">enterprise_sum,</if>
<if test="auditStatus != null">audit_status,</if>
<if test="instanceId != null">instance_id,</if>
<if test="instanceType != null">instance_type,</if>
@ -113,6 +115,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="outOrderCode != null">#{outOrderCode},</if>
<if test="pickStatus != null">#{pickStatus},</if>
<if test="pickUser != null">#{pickUser},</if>
<if test="materialSum != null">#{materialSum},</if>
<if test="enterpriseSum != null">#{enterpriseSum},</if>
<if test="auditStatus != null">#{auditStatus},</if>
<if test="instanceId != null">#{instanceId},</if>
<if test="instanceType != null">#{instanceType},</if>

10
ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderMapper.xml

@ -16,6 +16,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="salesOrderType" column="sales_order_type" />
<result property="enterpriseCode" column="enterprise_code" />
<result property="enterpriseName" column="enterprise_name" />
<result property="enterpriseMaterialNo" column="enterprise_material_no" />
<result property="commonCurrency" column="common_currency" />
<result property="customerPurser" column="customer_purser" />
<result property="materialSum" column="material_sum" />
@ -77,7 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select
sales_order_id, use_status, audit_status, make_status, delivery_status,close_status,
sales_order_code, sales_order_number, sales_order_type,enterprise_code,customer_purser,
common_currency,enterprise_name, material_sum, enterprise_sum, noRmbPrice, noRmbSum, rmbPrice,
common_currency,enterprise_name,enterprise_material_no, material_sum, enterprise_sum, noRmbPrice, noRmbSum, rmbPrice,
rmbTaxSum,noUsdPrice, noUsdSum, usdPrice, usdTaxSum, payment_terms, delivery_time,
delivery_conditions, delivery_method, delivery_address,delivery_phone,customer_delivery,
order_receiving_mode,order_receiving_time,customer_contact, contact_number,contact_email, contact_post,
@ -92,7 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectSysSalesOrderList" parameterType="SysSalesOrderVo" resultMap="SysSalesOrderResult">
select s.sales_order_id, s.use_status, s.audit_status, s.make_status, s.delivery_status,
s.close_status, s.sales_order_code, s.sales_order_number, s.sales_order_type,s.enterprise_code,
s.customer_purser,s.common_currency,s.enterprise_name, s.material_sum, s.enterprise_sum,
s.customer_purser,s.common_currency,s.enterprise_name,s.enterprise_material_no, s.material_sum, s.enterprise_sum,
s.noRmbPrice, s.noRmbSum, s.rmbPrice, s.rmbTaxSum,s.noUsdPrice, s.noUsdSum, s.usdPrice, s.usdTaxSum,
s.payment_terms, s.delivery_time,s.delivery_conditions, s.delivery_method, s.delivery_address,s.delivery_phone,
s.customer_delivery,s.order_receiving_mode,s.order_receiving_time,s.customer_contact, s.contact_number,s.contact_email, s.contact_post,
@ -113,6 +114,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="salesOrderNumber != null and salesOrderNumber != ''"> and s.sales_order_number like concat('%', #{salesOrderNumber}, '%')</if>
<if test="enterpriseCode != null and enterpriseCode != ''"> and s.enterprise_code like concat('%', #{enterpriseCode}, '%')</if>
<if test="enterpriseName != null and enterpriseName != ''"> and s.enterprise_name like concat('%', #{enterpriseName}, '%')</if>
<if test="enterpriseMaterialNo != null and enterpriseMaterialNo != ''"> and s.enterprise_material_no like concat('%', #{enterpriseMaterialNo}, '%')</if>
<if test="customerContact != null and customerContact != ''"> and s.customer_contact = #{customerContact}</if>
<if test="contactNumber != null and contactNumber != ''"> and s.contact_number = #{contactNumber}</if>
<if test="businessMembers != null and businessMembers != ''"> and s.business_members = #{businessMembers}</if>
@ -147,6 +149,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="salesOrderType !=null">sales_order_type,</if>
<if test="enterpriseCode != null">enterprise_code,</if>
<if test="enterpriseName != null">enterprise_name,</if>
<if test="enterpriseMaterialNo != null">enterprise_material_no,</if>
<if test="customerPurser !=null">customer_purser,</if>
<if test="commonCurrency !=null">common_currency,</if>
<if test="materialSum != null">material_sum,</if>
@ -207,6 +210,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="salesOrderType !=null">#{salesOrderType},</if>
<if test="enterpriseCode != null">#{enterpriseCode},</if>
<if test="enterpriseName != null">#{enterpriseName},</if>
<if test="enterpriseMaterialNo != null">#{enterpriseMaterialNo},</if>
<if test="customerPurser !=null">#{customerPurser},</if>
<if test="commonCurrency !=null">#{commonCurrency},</if>
<if test="materialSum != null">#{materialSum},</if>
@ -271,6 +275,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="customerPurser !=null">customer_purser = #{customerPurser},</if>
<if test="enterpriseCode != null">enterprise_code = #{enterpriseCode},</if>
<if test="enterpriseName != null">enterprise_name =#{enterpriseName},</if>
<if test="enterpriseMaterialNo != null">enterprise_material_no =#{enterpriseMaterialNo},</if>
<if test="materialSum != null">material_sum = #{materialSum},</if>
<if test="enterpriseSum != null">enterprise_sum = #{enterpriseSum},</if>
<if test="commonCurrency != null">common_currency = #{commonCurrency},</if>
@ -338,6 +343,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="customerPurser !=null">customer_purser = #{customerPurser},</if>
<if test="enterpriseCode != null">enterprise_code = #{enterpriseCode},</if>
<if test="enterpriseName != null">enterprise_name =#{enterpriseName},</if>
<if test="enterpriseMaterialNo != null">enterprise_material_no =#{enterpriseMaterialNo},</if>
<if test="materialSum != null">material_sum = #{materialSum},</if>
<if test="enterpriseSum != null">enterprise_sum = #{enterpriseSum},</if>
<if test="commonCurrency != null">common_currency = #{commonCurrency},</if>

6
ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseOutOrderMapper.xml

@ -97,8 +97,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where out_order_code = #{outOrderCode}
</select>
<select id="selectWarehouseOutOrderByShippingDeviceId" parameterType="String" resultMap="WarehouseOutOrderResult">
<include refid="selectWarehouseOutOrderVo"/>
where shipping_device_id = #{shippingDeviceId}
</select>
<insert id="insertWarehouseOutOrder" parameterType="WarehouseOutOrder" useGeneratedKeys="true" keyProperty="outOrderId">
insert into warehouse_out_order
<trim prefix="(" suffix=")" suffixOverrides=",">

83
ruoyi-admin/src/main/resources/templates/aftersales/shippingDevice/detail.html

@ -11,61 +11,61 @@
<div class="form-group">
<label class="col-sm-3 control-label is-required">出货设备id:</label>
<div class="col-sm-8">
<input name="shippingDeviceId" th:field="*{shippingDeviceId}" class="form-control" type="text" required>
<input name="shippingDeviceId" th:field="*{shippingDeviceId}" class="form-control" type="text" required disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联单号:</label>
<div class="col-sm-8">
<input name="makeNo" th:field="*{makeNo}" class="form-control" type="text">
<input name="makeNo" th:field="*{makeNo}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">料号:</label>
<div class="col-sm-8">
<input name="materialNo" th:field="*{materialNo}" class="form-control" type="text">
<input name="materialNo" th:field="*{materialNo}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">图片:</label>
<div class="col-sm-8">
<input name="materialPhotourl" th:field="*{materialPhotourl}" class="form-control" type="text">
<input name="materialPhotourl" th:field="*{materialPhotourl}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料名称:</label>
<div class="col-sm-8">
<input name="materialName" th:field="*{materialName}" class="form-control" type="text">
<input name="materialName" th:field="*{materialName}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料类型:</label>
<div class="col-sm-8">
<input name="materialType" th:field="*{materialType}" class="form-control" type="text">
<input name="materialType" th:field="*{materialType}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料类别:</label>
<div class="col-sm-8">
<input name="materialClass" th:field="*{materialClass}" class="form-control" type="text">
<input name="materialClass" th:field="*{materialClass}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">单位:</label>
<div class="col-sm-8">
<input name="materialUnit" th:field="*{materialUnit}" class="form-control" type="text">
<input name="materialUnit" th:field="*{materialUnit}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料品牌:</label>
<div class="col-sm-8">
<input name="materialBrand" th:field="*{materialBrand}" class="form-control" type="text">
<input name="materialBrand" th:field="*{materialBrand}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">物料描述:</label>
<div class="col-sm-8">
<textarea name="materialDescribe" class="form-control">[[*{materialDescribe}]]</textarea>
<textarea name="materialDescribe" class="form-control" disabled>[[*{materialDescribe}]]</textarea>
</div>
</div>
</form>
@ -77,37 +77,37 @@
<div class="form-group">
<label class="col-sm-3 control-label">客户ID:</label>
<div class="col-sm-8">
<input name="enterpriseCode" th:field="*{enterpriseCode}" class="form-control" type="text" required >
<input name="enterpriseCode" th:field="*{enterpriseCode}" class="form-control" type="text" required disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">客户名称:</label>
<div class="col-sm-8">
<input name="enterpriseName" th:field="*{enterpriseName}" class="form-control" type="text" required>
<input name="enterpriseName" th:field="*{enterpriseName}" class="form-control" type="text" required disabled>
</div>
</div>
<div class="form-group" >
<label class="col-sm-3 control-label is-required is-required" >客户联系人:</label>
<div class="col-sm-8">
<input name="customerContact" th:field="*{customerContact}" class="form-control" type="text" required>
<input name="customerContact" th:field="*{customerContact}" class="form-control" type="text" required disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">联系人电话:</label>
<div class="col-sm-8">
<input name="contactNumber" th:field="*{contactNumber}" class="form-control" type="text" required>
<input name="contactNumber" th:field="*{contactNumber}" class="form-control" type="text" required disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">公司地址:</label>
<div class="col-sm-8">
<input name="customerAddress" th:field="*{customerAddress}" class="form-control" type="text">
<input name="customerAddress" th:field="*{customerAddress}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">收货地址:</label>
<div class="col-sm-8">
<input required name="deliveryAddress" th:field="*{deliveryAddress}" class="form-control" type="text">
<input required name="deliveryAddress" th:field="*{deliveryAddress}" class="form-control" type="text" disabled>
</div>
</div>
</form>
@ -120,25 +120,25 @@
<div class="form-group">
<label class="col-sm-3 control-label">设备型号:</label>
<div class="col-sm-8">
<input name="deviceModelCode" th:field="*{deviceModelCode}" class="form-control" type="number" required >
<input name="deviceModelCode" th:field="*{deviceModelCode}" class="form-control" type="number" required disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">流水号:</label>
<div class="col-sm-8">
<input name="deviceRunningNumber" th:field="*{deviceRunningNumber}" class="form-control" type="number" required>
<input name="deviceRunningNumber" th:field="*{deviceRunningNumber}" class="form-control" type="number" required disabled>
</div>
</div>
<div class="form-group" >
<label class="col-sm-3 control-label is-required is-required" >图片:</label>
<div class="col-sm-8">
<input name="makePhotoUrl" th:field="*{makePhotoUrl}" class="form-control" type="text" required>
<input name="makePhotoUrl" th:field="*{makePhotoUrl}" class="form-control" type="text" required disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">生产员:</label>
<div class="col-sm-8">
<input name="makeName" th:field="*{makeName}" class="form-control" type="text" required>
<input name="makeName" th:field="*{makeName}" class="form-control" type="text" required disabled>
</div>
</div>
</form>
@ -149,23 +149,35 @@
<h4 class="font-weight-bold">仓库和售后信息</h4>
<hr>
<form class="form-horizontal m" id="form-warehouseAndAfterSalesDto-edit" th:object="${warehouseAndAfterSalesDto}">
<div class="form-group">
<label class="col-sm-3 control-label">出库单号:</label>
<div class="col-sm-8">
<input name="outOrderCode" th:field="*{outOrderCode}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库员:</label>
<div class="col-sm-8">
<input name="warehouseName" th:field="*{warehouseName}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">SN号:</label>
<div class="col-sm-8">
<input name="snCode" th:field="*{snCode}" class="form-control" type="text">
<input name="snCode" th:field="*{snCode}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">售后图片:</label>
<div class="col-sm-8">
<input name="aftersalesPhotourl" th:field="*{aftersalesPhotourl}" class="form-control" type="text">
<input name="aftersalesPhotourl" th:field="*{aftersalesPhotourl}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">出厂日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="factoryDate" th:value="*{factoryDate}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<input name="factoryDate" th:value="${#dates.format(warehouseAndAfterSalesDto.factoryDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text" disabled>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
@ -173,31 +185,34 @@
<div class="form-group">
<label class="col-sm-3 control-label">保修期:</label>
<div class="col-sm-8">
<input name="guaranteePeriod" th:field="*{guaranteePeriod}" class="form-control" type="text">
<input name="guaranteePeriod" th:field="*{guaranteePeriod}" class="form-control" type="text" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">锁机时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="lockDate" th:value="*{lockDate}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<div class="radio-box" th:each="dict : ${@dict.getType('lock_date_flag')}">
<input type="radio" th:id="${'lockDateFlag_' + dict.dictCode}" name="lockDateFlag" th:value="${dict.dictValue}" th:field="*{lockDateFlag}" disabled>
<label th:for="${'lockDateFlag_' + dict.dictCode}" th:text="${dict.dictLabel}"></label>
</div>
</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">
<select name="lockDateFlag" class="form-control m-b" th:with="type=${@dict.getType('lock_date_flag')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{lockDateFlag}"></option>
</select>
<div class="input-group date">
<input name="lockDate" th:value="${#dates.format(warehouseAndAfterSalesDto.lockDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text" disabled>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">损耗品到期时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="wastageExpireDate" th:value="*{wastageExpireDate}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<input name="wastageExpireDate" th:value="${#dates.format(warehouseAndAfterSalesDto.wastageExpireDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text" disabled>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
@ -206,7 +221,7 @@
<label class="col-sm-3 control-label">二次维修后部件质保时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="componentGuaranteeDate" th:value="*{componentGuaranteeDate}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<input name="componentGuaranteeDate" th:value="${#dates.format(warehouseAndAfterSalesDto.componentGuaranteeDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text" disabled>
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
@ -242,7 +257,7 @@
// 使用 JSON.stringify() 序列化数据
const jsonData = JSON.stringify(combinedData);
// 发送 AJAX 请求到后端接口
$.operate.saveJson(prefix + "/edit", jsonData);
$.operate.saveJson(prefix + "/detail", jsonData);
}
}

33
ruoyi-admin/src/main/resources/templates/aftersales/shippingDevice/edit.html

@ -149,6 +149,18 @@
<h4 class="font-weight-bold">仓库和售后信息</h4>
<hr>
<form class="form-horizontal m" id="form-warehouseAndAfterSalesDto-edit" th:object="${warehouseAndAfterSalesDto}">
<div class="form-group">
<label class="col-sm-3 control-label">出库单号:</label>
<div class="col-sm-8">
<input name="outOrderCode" th:field="*{outOrderCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">仓库员:</label>
<div class="col-sm-8">
<input name="warehouseName" th:field="*{warehouseName}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">SN号:</label>
<div class="col-sm-8">
@ -165,7 +177,7 @@
<label class="col-sm-3 control-label">出厂日期:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="factoryDate" th:value="*{factoryDate}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<input name="factoryDate" th:value="${#dates.format(warehouseAndAfterSalesDto.factoryDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
@ -179,25 +191,26 @@
<div class="form-group">
<label class="col-sm-3 control-label">锁机时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="lockDate" th:value="*{lockDate}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<div class="radio-box" th:each="dict : ${@dict.getType('lock_date_flag')}">
<input type="radio" th:id="${'lockDateFlag_' + dict.dictCode}" name="lockDateFlag" th:value="${dict.dictValue}" th:field="*{lockDateFlag}">
<label th:for="${'lockDateFlag_' + dict.dictCode}" th:text="${dict.dictLabel}"></label>
</div>
</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">
<select name="lockDateFlag" class="form-control m-b" th:with="type=${@dict.getType('lock_date_flag')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{lockDateFlag}"></option>
</select>
<div class="input-group date">
<input name="lockDate" th:value="${#dates.format(warehouseAndAfterSalesDto.lockDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">损耗品到期时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="wastageExpireDate" th:value="*{wastageExpireDate}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<input name="wastageExpireDate" th:value="${#dates.format(warehouseAndAfterSalesDto.wastageExpireDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
@ -206,7 +219,7 @@
<label class="col-sm-3 control-label">二次维修后部件质保时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="componentGuaranteeDate" th:value="*{componentGuaranteeDate}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<input name="componentGuaranteeDate" th:value="${#dates.format(warehouseAndAfterSalesDto.componentGuaranteeDate, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>

15
ruoyi-admin/src/main/resources/templates/aftersales/shippingDevice/shippingDevice.html

@ -108,21 +108,6 @@
</div>
</form>
</div>
<!-- <div class="btn-group-sm" id="toolbar" role="group">-->
<!-- <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="aftersales:shippingDevice:add">-->
<!-- <i class="fa fa-plus"></i> 添加-->
<!-- </a>-->
<!-- <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="aftersales:shippingDevice:edit">-->
<!-- <i class="fa fa-edit"></i> 修改-->
<!-- </a>-->
<!-- <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="aftersales:shippingDevice:remove">-->
<!-- <i class="fa fa-remove"></i> 删除-->
<!-- </a>-->
<!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="aftersales:shippingDevice:export">-->
<!-- <i class="fa fa-download"></i> 导出-->
<!-- </a>-->
<!-- </div>-->
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>

5
ruoyi-admin/src/main/resources/templates/erp/bom/edit.html

@ -63,7 +63,7 @@
<div class="form-group">
<label class="col-sm-3 control-label is-required">描述:</label>
<div class="col-sm-8">
<textarea name="describe" class="form-control" disabled required>[[*{describe}]]</textarea>
<textarea name="describe" class="form-control" readonly required>[[*{describe}]]</textarea>
</div>
</div>
<div class="form-group">
@ -120,6 +120,9 @@
function submitHandler() {
if ($.validate.form()) {
$("#selectEngineer").removeAttr("disabled");
$("#selectMaterialType").removeAttr("disabled");
$("#selectProcessMethod").removeAttr("disabled");
$("#selectUnit").removeAttr("disabled");
var formData = $("#form-bom-edit").serializeArray();
console.log("formData",formData);
var tableData = $("#bootstrap-sub-table-1").bootstrapTable('getData');

2
ruoyi-admin/src/main/resources/templates/system/customer/customer.html

@ -414,6 +414,8 @@
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
detailUrl: prefix + "/detail/{id}",
cancelUrl: prefix + "/cancel/{id}",
restoreUrl: prefix + "/restore/{id}",
modalName: "客户基本信息",
fixedColumns:true,
fixedRightNumber:1,

193
ruoyi-admin/src/main/resources/templates/system/customer/detail.html

@ -264,6 +264,24 @@
<table id="oper-table"></table>
</div>
</div>
<div class="container">
<label class=" control-label">其他联系人</label>
<div class="col-sm-12 select-table table-striped">
<table id="contacts-table"></table>
</div>
</div>
<div class="container">
<label class=" control-label">其他送货地址</label>
<div class="col-sm-12 select-table table-striped">
<table id="shippingaddress-table"></table>
</div>
</div>
<div class="container">
<label class=" control-label">其他开票信息</label>
<div class="col-sm-12 select-table table-striped">
<table id="invoice-table"></table>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
@ -447,6 +465,181 @@
}
]
});
// 其他联系人信息
$('#contacts-table').bootstrapTable({
data: [[${contactsList}]],
// pagination: true,
// pageNumber: 1,
// pageSize: 10,
// pageList: [10, 25, 50, 100],
maxHeight: 50,
modalName: "联系人明细",
columns: [
{
field: 'contactid',
title: '联系人id',
visible: false,
},
{
field: 'enterpriseCode',
title: '客户/企业代码',
visible: false,
},
{
field: 'enterpriseName',
title: '客户/企业名称',
visible: false,
},
{
field: 'customerName',
title: '姓名'
},
{
field: 'customerPosition',
title: '职务'
},
{
field: 'customerBirthday',
title: '生日'
},
{
field: 'officeTelephone',
title: '办公电话'
},
{
field: 'homePhone',
title: '家中电话'
},
{
field: 'cellPhone',
title: '手机号'
},
{
field: 'customerFax',
title: '传真'
},
{
field: 'standbyTelephoneOne',
title: '备用电话1'
},
{
field: 'standbyTelephoneTwo',
title: '备用电话2'
},
{
field: 'commonEmail',
title: '常用Email'
},
{
field: 'alternateEmail',
title: '备用Email'
},
{
field: 'customerRemarks',
title: '备注'
},
{
field: 'firstAddTime',
title: '录入时间',
formatter: function (value, row, index) {
if (value == null) {
return " ";
} else {
return value;
}
}
},
{
field: 'updateInfoTime',
title: '上次修改时间',
formatter: function (value, row, index) {
if (value == null) {
return " ";
} else {
var vArr = value.split(',')
return vArr[0];
}
}
},
]
});
// 其他收货地址
$('#shippingaddress-table').bootstrapTable({
data: [[${shippingAddressList}]],
// pagination: true,
// pageNumber: 1,
// pageSize: 10,
// pageList: [10, 25, 50, 100],
maxHeight: 50,
modalName: "收货地址明细",
columns: [
{title: '送货id',field: 'deliveryId',visible:false},
{title: '客户/企业代码',field: 'enterpriseCode',visible:false},
{title: '客户/企业名称',field: 'enterpriseName',visible:false},
{title: '联系人电话',field: 'customerPhone'},
{title: '联系人',field: 'customerName'},
{title: '送货地址',field: 'deliveryAddress'},
{title: '联系人2',field: 'customerNameTwo'},
{title: '详细描述',field: 'detailedDescription'},
{title: '厂区',field: 'plantArea'},
{title: '邮编',field: 'postalCode'},
{title: '传真',field: 'customerFax'},
{title: '录入时间',field: 'firstAddTime',
formatter: function (value, row, index) {if (value == null) {return " ";}else {return value;}}
},
{title: '上次修改时间',field: 'updateInfoTime',
formatter: function (value, row, index) {if (value == null) {return " ";} else {var vArr = value.split(','); return vArr[0];}}
},
]
});
// 其他开票信息
$('#invoice-table').bootstrapTable({
data: [[${invoicesList}]],
// pagination: true,
// pageNumber: 1,
// pageSize: 10,
// pageList: [10, 25, 50, 100],
maxHeight: 50,
modalName: "开票信息",
columns: [
{
title: '开票索引编号',
field: 'id',
visible: false
},
{
title: '开票ID',
field: 'invoiceId',
},
{
title: '企业代码',
field: 'enterpriseCode',
},
{
title: '企业名称',
field: 'enterpriseName',
},
{
title: '开票公司名称',
field: 'invoiceCompanyName',
},
{
title: '开票公司税号',
field: 'invoiceCompanyCode',
},
{
title: '公司开户行',
field: 'depositBank',
},
{
title: '公司开户账号',
field: 'bankAccount',
},
]
});
</script>
</body>
</html>

16
ruoyi-admin/src/main/resources/templates/system/makeorderpick/taskScjlVerify.html

@ -56,13 +56,7 @@
<input name="pickUserName" th:field="*{pickUserName}" class="form-control" type="text" readonly>
</div>
</div>
<!--缺订单类型-->
<div class="row">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-sub-table-1"></table>
</div>
</div>
<hr />
<div class="form-group">
<label class="col-sm-3 control-label" for="scjlVerifyApproved"><span style="color: red; ">*</span>审批意见:</label>
<div class="col-sm-8">
@ -79,6 +73,14 @@
<textarea name="comment" class="form-control"></textarea>
</div>
</div>
<!--缺订单类型-->
<div class="row">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-sub-table-1"></table>
</div>
</div>
<hr />
</form>
</div>
<th:block th:include="include :: footer" />

15
ruoyi-admin/src/main/resources/templates/system/makeorderpick/taskSczgVerify.html

@ -56,13 +56,6 @@
<input name="pickUserName" th:field="*{pickUserName}" class="form-control" type="text" readonly>
</div>
</div>
<!--缺订单类型-->
<div class="row">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-sub-table-1"></table>
</div>
</div>
<hr />
<div class="form-group">
<label class="col-sm-3 control-label" for="sczgVerifyApproved"><span style="color: red; ">*</span>审批意见:</label>
<div class="col-sm-8">
@ -79,6 +72,14 @@
<textarea name="comment" class="form-control"></textarea>
</div>
</div>
<!--缺订单类型-->
<div class="row">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-sub-table-1"></table>
</div>
</div>
<hr />
</form>
</div>
<th:block th:include="include :: footer" />

36
ruoyi-admin/src/main/resources/templates/system/salesOrder/add.html

@ -86,6 +86,12 @@
<input id="enterpriseName" name="enterpriseName" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">客户料号:</label>
<div class="col-sm-8">
<input id="enterpriseMaterialNo" name="enterpriseMaterialNo" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">事业部:</label>
<div class="col-sm-8">
@ -95,7 +101,7 @@
<div class="form-group">
<label class="col-sm-3 control-label">客户联系人:</label>
<div class="col-sm-8">
<select id="customerContact_add" name="customerContact" class="form-control m-b">
<select id="customerContact_add" name="customerContact" class="form-control m-b" required>
</select>
</div>
</div>
@ -500,10 +506,10 @@
var requiredField = (currencyVal === '1') ? 'materialNoRmb' : 'materialNoUsd';
// 检查是否尝试编辑除requiredField外的字段,且requiredField未填写
if (field !== requiredField && (!row[requiredField] || row[requiredField].trim() === '')) {
$.modal.alertWarning((currencyVal === '1' ? "请首先填写物料的不含税单价(RMB)" : "请首先填写物料的不含税单价(美元)"));
// 可以选择取消这次编辑操作,但Bootstrap Table默认不会提供直接的API来取消编辑后的保存,您可能需要手动恢复数据或采取其他策略。
}
// if (field !== requiredField && (!row[requiredField] || row[requiredField].trim() === '')) {
// $.modal.alertWarning((currencyVal === '1' ? "请首先填写物料的不含税单价(RMB)" : "请首先填写物料的不含税单价(美元)"));
// // 可以选择取消这次编辑操作,但Bootstrap Table默认不会提供直接的API来取消编辑后的保存,您可能需要手动恢复数据或采取其他策略。
// }
});
// 初始化时也需要根据当前的货币类型设置一次
@ -839,19 +845,29 @@
minView: "month",
autoclose: true
});
$("input[name='orderReceivingTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
// $("input[name='orderReceivingTime']").datetimepicker({
// format: "yyyy-mm-dd",
// minView: "month",
// autoclose: true
// });
$("input[name='modificationTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$(document).ready(function () {
var currentDate = new Date();
var year = currentDate.getFullYear();
var month = ('0' + (currentDate.getMonth() + 1)).slice(-2); // 月份是从0开始的,所以需要加1
var day = ('0' + currentDate.getDate()).slice(-2);
var formattedDate = year + '-' + month + '-' + day;
// console.log(formattedDate);
$("input[name='orderReceivingTime']").val(formattedDate);
});
function submitHandler() {
if ($.validate.form()) {
var formData = $("#form-salesOrder-add").serializeArray();
console.log(formData);
var tableData = $("#bootstrap-sub-table-order").bootstrapTable('getData');
console.log("tableData",JSON.stringify(tableData));
var rows = tableData.length;

3
ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storagePurchaseWarehouse.html

@ -114,6 +114,7 @@
var materialDataList = tableData.map(function (item) {
// 根据实际字段名调整
return {
"warehouseStorageDetailId":item.warehouseStorageDetailId,
"supplierCode": item.supplierCode,
"materialNo": item.materialNo,
"materialName": item.materialName,
@ -151,7 +152,7 @@
// 使用 JSON.stringify() 序列化数据
const jsonData = JSON.stringify(combinedData);
// 发送 AJAX 请求到后端接口
$.operate.saveJson(prefix + "/temporaryPurchaseWarehouse", jsonData);
$.operate.saveJson(prefix + "/storagePurchaseWarehouse", jsonData);
}
$("input[name='arrivedTime']").datetimepicker({

2
ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/storagePurchaseWarehouseDetail.html

@ -151,7 +151,7 @@
// 使用 JSON.stringify() 序列化数据
const jsonData = JSON.stringify(combinedData);
// 发送 AJAX 请求到后端接口
$.operate.saveJson(prefix + "/temporaryPurchaseWarehouse", jsonData);
$.operate.saveJson(prefix + "/storagePurchaseWarehouseDetail", jsonData);
}
$("input[name='arrivedTime']").datetimepicker({

4
ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/temporaryPurchase.html

@ -281,7 +281,7 @@
if (!v) return '数量不能为空';
if (isNaN(v)) return '数量必须是数字';
var processBadNum = parseInt(v);
if (processBadNum <= 0) return '数量必须是正整数';
if (processBadNum < 0) return '数量必须是整数';
}
}
},
@ -296,7 +296,7 @@
if (!v) return '数量不能为空';
if (isNaN(v)) return '数量必须是数字';
var processBadNum = parseInt(v);
if (processBadNum <= 0) return '数量必须是正整数';
if (processBadNum < 0) return '数量必须是整数';
}
}
},

4
ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/temporaryPurchaseWarehouse.html

@ -280,7 +280,7 @@
if (!v) return '数量不能为空';
if (isNaN(v)) return '数量必须是数字';
var processBadNum = parseInt(v);
if (processBadNum <= 0) return '数量必须是正整数';
if (processBadNum < 0) return '数量必须是整数';
}
}
},
@ -295,7 +295,7 @@
if (!v) return '数量不能为空';
if (isNaN(v)) return '数量必须是数字';
var processBadNum = parseInt(v);
if (processBadNum <= 0) return '数量必须是正整数';
if (processBadNum < 0) return '数量必须是整数';
}
}
},

Loading…
Cancel
Save